SuperSocket
SuperSocket copied to clipboard
session 无法正确清理的问题
作者你好
我们是做IOT设备的,客户端只具备同时保持一条socket的能力。
为了准确的发送消息到客户端我们在protected override void OnSessionClosed(CloseReason reason)中会记录日志并且清理掉过时的session;
但是我们在线上发现服务端同时持有一个客户端的多个session,并且没有旧session的断开日志,也就是说连接的断开并没有100%的触发OnSessionClosed(CloseReason reason)这个函数;这个问题产生的结果就是我们在发送消息时错误的选择了一条旧session,导致用户在发送消息时我们会收到 The sending attempt timed out这样的错误。
请问这个问题的产生原因可能时什么导致的呢?
还请不吝赐教啊
线上环境:Windows 2012 Server 8C 16G
SuperSocket 版本:1.6.6.1
I suggest you upgrade to SuperSocket 2.0
建议升级至2.0