开服网_nat123论坛客服

 找回密码
 获得新生
查看: 55|回复: 5

[求助] 架设聊天室,客户离开(断开连接)后无限收到0字节消息。

[复制链接]
发表于 5 天前 | 显示全部楼层 |阅读模式
06-20 01:06        服务器启动监听成功!
06-20 01:10        127.0.0.1:52788:客户端连接成功!
06-20 01:10        [异常_接收到的数据]:长度异常11111111: 接收到的数据长度 = 0,IP=127.0.0.1:52788
06-20 01:10        [异常_接收到的数据]:长度异常11111111: 接收到的数据长度 = 0,IP=127.0.0.1:52788

06-20 01:10        [异常_接收到的数据]:长度异常11111111: 接收到的数据长度 = 0,IP=127.0.0.1:52788

06-20 01:10        [异常_接收到的数据]:长度异常11111111: 接收到的数据长度 = 0,IP=127.0.0.1:52788

06-20 01:10        [异常_接收到的数据]:长度异常11111111: 接收到的数据长度 = 0,IP=127.0.0.1:52788



这是打印的日志,能够正常连接,也能正常发送消息,但是一旦客户端断开连接(比如关闭程序),我的服务端就会无限收到长度为0的消息。

这是我服务端设计问题还是咋回事呢?试了下花生壳,好像也是这样的。难道是我断开的姿势不正确?

求指教!!!



发表于 5 天前 | 显示全部楼层
以长度0表示断开提示?应用本身上设置排查
 楼主| 发表于 5 天前 | 显示全部楼层
即便是长度0那也没关系,但是无限收到这个消息啥问题。
nat123里面好像也没看到有啥设置的地方
另外,请问这个全端口映射有客户连接数限制么?只走P2P的话应该没有限制吧?
发表于 5 天前 | 显示全部楼层
没有客户端限制。
 楼主| 发表于 5 天前 | 显示全部楼层
请问是不是我客户端的断开方式有问题,是不是我断开的姿势不对,所以nat123程序无法正确响应?导致nat123不停的向我的服务端无限发送空数据信息?
我使用的c#,应该用哪种断开呢,又或者我的服务端收到空信息之后应该给nat123返回一个什么?或者断开这个连接?
sockClient.Shutdown( SocketShutdown.Send);
            sockClient.Disconnect(false);
            sockClient.Close();
 楼主| 发表于 5 天前 | 显示全部楼层
折中处理了一下,服务端监测到来自于本地IP且长度0的数据之后就断开连接并关闭线程。
但不知道nat123还会不会往服务端发送空数据。
结帖
您需要登录后才可以回帖 登录 | 获得新生

本版积分规则

Archiver|手机版|nat123  

GMT+8, 2017-6-25 06:19 , Processed in 0.173077 second(s), 18 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc. | 网站反馈邮箱:natbbs#163.com(把#换成@)

快速回复 返回顶部 返回列表