asp.net mvc 开发一个交易平台,实时显示挂单数量,打算用websocket实现它。
遇到了问题:
1:如何标识每个连接(websocket)?目前我使用全局变量来存,感觉这种文件不对。
private static readonly Dictionary<string, WebSocket> ConnectPool = new Dictionary<string, WebSocket>();//用户连接池
2:非正常情况下关闭网页,如果关闭浏览器、断网、关机等等。
如果用foreach 来循环ClientPool,会出现被释放的资源不能访问的错误,然后就死了。
我之前做的node服务写websocket,第一点和楼主一样,用一个全局对象存的ws信道,
第二点:网页关闭,断网,在node有一个事件监听的
websocker不管连接还是关闭都会向Server发送一个请求,通过状态判断是连接还是关闭,关闭的话,就移除掉