当前位置: 技术问答>linux和unix
Linux socket编程中非常怪异的问题
来源: 互联网 发布时间:2015-11-19
本文导语: 我写了个服务器程序,通常几十个客户端的连接,使用TCP协议,运行一段时间后,这段时间通常是3天到5天不等,就出现连接断开,客户端再也无法登录的情况,我观察服务器进程还是存在的,网络端口状态看起来也...
我写了个服务器程序,通常几十个客户端的连接,使用TCP协议,运行一段时间后,这段时间通常是3天到5天不等,就出现连接断开,客户端再也无法登录的情况,我观察服务器进程还是存在的,网络端口状态看起来也是正常的,开始百思不得其解,后来直接用“telnet xxx.xxx.xxx.xxx 6666”这种方式去试探服务器(其中6666是我使用的连接端口),发现一个极度奇怪的现象,所有的我写到log文件中的内容,都发送到了这个端口,显示在我的终端上,这样网络消息就完全错误了,也难怪客户端无法登录,更奇怪的是我的程序运行在好几台服务器,只有这一台出了问题,别的都很正常。
我知道这种问题肯定不是常见的,但CSDN更是高手如云,所以无论如何也要上来问问,希望能遇到高人指点迷津。
我知道这种问题肯定不是常见的,但CSDN更是高手如云,所以无论如何也要上来问问,希望能遇到高人指点迷津。
|
进程结构是什么样?多进程还是多线程?不用的描述符是否关闭了?
|
可能是你的服务器在接收到连接就自动发送或接收数据,你看下是不是发送接收混乱了。
|
看看这个号,除了你在使用以外,还有没有人在用
|
是否有将socket handle和file handle混淆的场合(特别是在出现异常的时候)
|
有点代码写出来可能大家会快点帮你解决!