内容目录
在 signalR 中如需获取客户端的连接信息,可以使用 IHttpConnectionFeature
获取客户端通讯的 IP 和端口。
// 获取服务
var feature = Context.Features.Get<IHttpConnectionFeature>();
var httpContext = Context.GetHttpContext();
ArgumentNullException.ThrowIfNull(feature);
ArgumentNullException.ThrowIfNull(httpContext);
// header 查询信息
var clientIdSV = httpContext.Request.Headers["ClientId"];
var clientId = clientIdSV.FirstOrDefault();
ArgumentNullException.ThrowIfNull(clientId);
// 获取客户端通讯地址
var remoteAddress = feature.RemoteIpAddress;
ArgumentNullException.ThrowIfNull(remoteAddress);
var remotePort = feature.RemotePort;
如果要获取客户端 Hub 的 ConnectionId,可以使用
base.Context.ConnectionId
文章评论