我正在使用Alchemy Websockets并查看源代码,它支持Ping / Pong,但似乎并没有使用它。
我想以定时间隔从服务器发送Ping,如果我没有收到客户端的回复,请关闭连接。
答案 0 :(得分:0)
我认为它是内置的:
var aServer = new WebSocketServer(81, IPAddress.Any) {
OnReceive = OnReceive,
OnSend = OnSend,
OnConnect = OnConnect,
OnConnected = OnConnected,
OnDisconnect = OnDisconnect,
TimeOut = new TimeSpan(0, 5, 0)
};
TimeOut
参数似乎是关键。每次TimeOut / 3或TimeOut / 2间隔都会发送可能 ping,如果连接未在TimeOut中回复,则会断开连接。
您可以在Google Chrome中看到ping / pong框架。打开网络选项卡,选择WebSocket连接(具有HTTP 101状态的连接)并打开Frames选项卡(该选项卡不自动刷新,因此您必须不时切换)。
干杯。