如何使用 MessageWebSocket 发送 ping 以保持与服务器的连接
Posted
技术标签:
【中文标题】如何使用 MessageWebSocket 发送 ping 以保持与服务器的连接【英文标题】:How do I send a ping to keep connection to server alive using MessageWebSocket 【发布时间】:2020-08-01 19:30:50 【问题描述】:我正在使用 c# UWP 和 MessageWebSocket。在我的应用中,我需要每 10 分钟向服务器发送一次 ping 以保持 webSocket 连接处于活动状态。
但是我真的在 MessageWebSocket 上找不到任何方法来发送 ping,而且 google 在这里也帮不上什么忙。
非常感谢任何帮助。
【问题讨论】:
【参考方案1】:源自官方document,MessageWebSocketControl
包含DesiredUnsolicitedPongInterval
,用于允许应用获取和设置所需的主动WebSocket
PONG 间隔。如果您只想保持 webSocket 连接处于活动状态,请查看此document
有关详细信息,请参阅 ControlChannelTrigger 备注。在实现应用级 PONG 时,可以通过 ControlChannelTrigger 的 ServerKeepAliveIntervalInMinutes 属性配置服务器保持活动间隔。
更新
MessageWebSocket
不包含向用于保持连接活动的服务器发送 ping。但是您可以将 WebSocketKeepAlive 类与 ControlChannelTrigger
类和相关接口结合使用,以启用实时网络状态以及 UWP BackgroundTask
中的 StreamWebSocket 和 MessageWebSocket 类的触发器。
【讨论】:
非常感谢您的回复,恐怕这让我更加困惑,我正在处理客户端部分,客户端需要向服务器发送 ping 以保持 websocket 处于活动状态,据我了解,服务器将以乒乓球响应。因此,您提到的功能定义了 PONG 间隔,而不是 PING 间隔。我希望你有时间为我澄清一下 我已经更新了回复,请查看更新部分,以上是关于如何使用 MessageWebSocket 发送 ping 以保持与服务器的连接的主要内容,如果未能解决你的问题,请参考以下文章