如何在Alchemy Websockets中使用Ping & Pong?



我正在使用Alchemy Websockets并查看源代码,它具有Ping/Pong支持,但似乎没有使用它的方法。

我想在一个定时间隔从服务器发送一个Ping,如果我没有从客户端得到回复,关闭连接。

我想它是内置的:

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中没有应答,将断开连接。

你可以看到ping/pong帧从谷歌浏览器。打开网络选项卡,选择WebSocket连接(HTTP 101状态的那个),打开帧选项卡(该选项卡不会自动刷新,所以你必须及时切换)。

欢呼。

相关内容

  • 没有找到相关文章