事件回顾:客户端连接服务器 ,一段时间后会发生服务器“挂掉”的情况,为了找到原因,在调试模式下运行服务器,捕捉到了一下异常:

红色框出来的即为异常原因:强行关闭了一个现有的连接远程主机

然后就发生了可怕的事情,如下图:

不断抛出此异常。。。

网上找了下解决方法:觉得比较靠谱的如下:

注意:C#命名空间在 system.Net.socket.socket.IOControl

可是我的是VB.NET写的,就将上面这段话改成了VB.NET语言:

注意:VB.NET命名空间是:System.Net.Sockets

 Dim IOC_IN As Integer = &H80000000
Dim IOC_VENDOR As Integer = &H18000000
Dim SIO_UDP_CONNRESET As UInteger = IOC_IN Or IOC_VENDOR Or
handler.IOControl(Convert.ToInt32(SIO_UDP_CONNRESET), New Byte() {False}, Nothing)

注:上述方案是针对UDP协议,而我在程序中使用的是TCP协议,所以最终的解决方案是:

listener = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
listener.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, True)

允许套接字绑定在已使用的地址中。测试服务器不会当掉!

End

最新文章

  1. c 函数及指针学习 6
  2. phonegap android3.5.1 Crosswalk
  3. PostgreSQL 8.1 中文文档
  4. Hibernate 系列教程2-创建maven工程
  5. gulp前端自动化工作流
  6. [01] File类
  7. 从Freelancer的热门Skill看看你应该学什么?
  8. linux目录的权限
  9. C语言定义共享全局变量
  10. Ubuntu下Tomcat绑定80端口(zz)
  11. Docker Inspect
  12. dubbo的ExtensionLoader
  13. [Agc011F] Train Service Planning
  14. Python 数据类型:字典
  15. 统计学中z分布、t分布、F分布及χ^2分布
  16. python-pymongo使用
  17. 接口自动化之接口工具选取(jmeter)
  18. SpringMVC基于注解方式的quartz
  19. ffmpeg hls 点播负载均衡简单实现
  20. 编写高质量代码改善C#程序的157个建议——建议102:区分接口和抽象类的应用场合

热门文章

  1. Ancient Printer[HDU3460]
  2. 【生活没有希望】NOIP2010初赛 烽火传递 smartoj1475
  3. AR初体验:宣传G20
  4. C#中的null与void
  5. 通读SDWebImage①--总体梳理、下载和缓存
  6. <十四>JDBC_c3p0数据库连接池
  7. git 常用操作命令
  8. 对Java数组中去除重复项程序分析
  9. js控制台输出console
  10. js将数字转成大写中文