From 58f5de70374c06ea4124288dd7c45c901e974ea1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=81=9A=E7=A0=81=E5=86=9C?= <599854767@qq.com> Date: Sun, 22 May 2022 19:34:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E7=94=A8=E6=88=B7=E6=96=B0?= =?UTF-8?q?=E5=A2=9EIP=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Admin.WebApi/Hubs/MessageHub.cs | 3 ++- ZR.Admin.WebApi/Hubs/OnlineUsers.cs | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ZR.Admin.WebApi/Hubs/MessageHub.cs b/ZR.Admin.WebApi/Hubs/MessageHub.cs index b835b1b..b5bf330 100644 --- a/ZR.Admin.WebApi/Hubs/MessageHub.cs +++ b/ZR.Admin.WebApi/Hubs/MessageHub.cs @@ -42,12 +42,13 @@ namespace ZR.Admin.WebApi.Hubs public override Task OnConnectedAsync() { var name = Context.User.Identity.Name; + var ip = HttpContextExtension.GetClientUserIp(App.HttpContext); LoginUser loginUser = JwtUtil.GetLoginUser(App.HttpContext); var user = clientUsers.Any(u => u.ConnnectionId == Context.ConnectionId); //判断用户是否存在,否则添加集合 if (!user && Context.User.Identity.IsAuthenticated) { - clientUsers.Add(new OnlineUsers(Context.ConnectionId, name, loginUser?.UserId)); + clientUsers.Add(new OnlineUsers(Context.ConnectionId, name, loginUser?.UserId, ip)); Console.WriteLine($"{DateTime.Now}:{name},{Context.ConnectionId}连接服务端success,当前已连接{clientUsers.Count}个"); //Clients.All.SendAsync("welcome", $"欢迎您:{name},当前时间:{DateTime.Now}"); Clients.All.SendAsync(HubsConstant.MoreNotice, SendNotice()); diff --git a/ZR.Admin.WebApi/Hubs/OnlineUsers.cs b/ZR.Admin.WebApi/Hubs/OnlineUsers.cs index 3ad5f43..0e1657d 100644 --- a/ZR.Admin.WebApi/Hubs/OnlineUsers.cs +++ b/ZR.Admin.WebApi/Hubs/OnlineUsers.cs @@ -16,13 +16,15 @@ namespace ZR.Model public long? Userid { get; set; } public string Name { get; set; } public DateTime LoginTime { get; set; } - - public OnlineUsers(string clientid, string name, long? userid) + public string UserIP { get; set; } + + public OnlineUsers(string clientid, string name, long? userid, string? userip) { ConnnectionId = clientid; Name = name; LoginTime = DateTime.Now; Userid = userid; + UserIP = userip; } } }