c# – 当我拔下网线时插座会怎样?

c# – 当我拔下网线时插座会怎样?,第1张

概述我有三个应用程序使用套接字相互通信.他们都可以住在他们自己的机器上,但他们也可以共用一台机器.现在我在他们自己的机器上有两个在同一个和第三个.我正在努力使我的通信防d,所以我拔掉电缆并杀死应用程序,以确保一切按预期工作. 这是一个快速的草图: alt text http://i40.tinypic.com/9vch86.png 现在,当我拔下网线到PC2(红色连接“Con B”)时,内部连接停止通 我有三个应用程序使用套接字相互通信.他们都可以住在他们自己的机器上,但他们也可以共用一台机器.现在我在他们自己的机器上有两个在同一个和第三个.我正在努力使我的通信防d,所以我拔掉电缆并杀死应用程序,以确保一切按预期工作.

这是一个快速的草图:

alt text http://i40.tinypic.com/9vch86.png

现在,当我拔下网线到PC2(红色连接“Con B”)时,内部连接停止通话(蓝色连接“Con A”).我从“应用程序1”发送的东西在套接字上永远不会到达“App 2”.

我已经建立了一个发现这种情况并断开连接然后重新连接的机制,之后我可以拔掉我想要的电缆并且“Con A”继续工作.这只是第一次.

我已确认在断开“Con B”之前通过“Con A”进行通信.
我以完全相同的方式连接和重新连接,它是相同的代码,所以没有区别.

发生了什么?

答案触发的其他信息:
PC 1和PC 2共享地址到最后一个字节.
我有一个内部保持活动机制,我发送一条消息,并期望每10秒响​​应一次.
当我杀死App 3时,只有在拔掉电缆时才会发生这种情况.

解决方法 你在“Con A”中使用了什么地址?如果您使用的是绑定到外部网络适配器的地址,即使您正在与同一台计算机通信,那么您所描述的内容也可能发生.

你可以做的是使用地址localhost(127.0.0.1)作为“Con A”,它应该完全独立于外部网络上发生的事情.

总结

以上是内存溢出为你收集整理的c# – 当我拔下网线时插座会怎样?全部内容,希望文章能够帮你解决c# – 当我拔下网线时插座会怎样?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1246832.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存