在服务器端
public class Global : System.Web.HttpApplication
{
private static List<UserInfo> _Users;
public static List<UserInfo> Users
{
get { return Global._Users; }
set
{
lock (_Users)
{
Global._Users = value;
}
}
}
...
public class RawHub : PersistentConnection
{
protected override Task OnConnected(IRequest request, string connectionId)
{
var UserID = request.QueryString.Where(t => t.Key == "U");
if (!string.IsNullOrEmpty(UserID.First().Value))
{
var ui = new Guid(UserID.First().Value);
var user = Global.Users.FirstOrDefault(x => x.USERID == ui);
if (user == null)
{
var us = new UserInfo();
us.USERID = ui;
us.ConnectionId = connectionId;
Global.Users.Add(us);
}
else
{
user.ConnectionId=connectionId;
}
return Connection.Send(user.ConnectionId,"Good To Go");
}
}
我想试着用send发送用户的特定信息.但是,当Global.Users断开时,我必须清理它们。
问:这有可能抓到pings吗?从js客户端还是必须通过ping到客户端来检测活动与否?
什么是最好的方法?
坦克斯
发布于 2014-10-10 22:31:44
您可以发送来自js客户端的自定义“我是活着的消息”。因为有些时候,ping并不像预期的那样来自客户。通常当网络忙的时候.
祝好运
发布于 2014-10-10 22:15:29
不确定这里到底有什么问题,但您可以简单地监听OnReceived中的消息/页面
asp.net/signalr
https://stackoverflow.com/questions/26304449
复制相似问题