gpt4 book ai didi

c# - 如何检测套接字断开连接?

转载 作者:太空宇宙 更新时间:2023-11-03 16:54:04 25 4
gpt4 key购买 nike

我在 Silverlight 3 中使用异步套接字模式实现了一项任务。我从 Michael Schwarz's implementation 开始并以此为基础。因此,基本上,我的 Silverlight 应用程序会建立与设备的持久套接字连接,然后数据会根据需要在设备和 Silverlight 应用程序之间双向流动。

我苦恼的一件事是如何检测断开连接。我可以想到两种方法:

  1. 保持活跃。我知道这可以在套接字级别完成,但我不确定如何在异步模型中执行此操作。 Socket 类如何让我知道已断开连接。

  2. 手动保持存活。基本上,我让 Silverlight 应用程序每 20 秒左右发送一个虚拟数据包。如果失败,我会假设断开连接。然而,令人难以置信的是,SocketAsyncEventArgs.SocketError 总是报告成功,即使我只是拔下 Silverlight 应用程序连接到的设备。我不确定这是错误还是什么,或者我是否需要升级到 SL4。

如有任何想法、方向或实现,我们将不胜感激。

最佳答案

我最终得到了一个需要目标回答的心跳数据包。基本上,我发送一个预定义的虚拟数据包,目标设备必须以相同的方式响应,否则连接被视为无效。

关于c# - 如何检测套接字断开连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2867735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com