免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3359 | 回复: 7
打印 上一主题 下一主题

一个socket异常问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-16 14:42 |只看该作者 |倒序浏览
10可用积分
有一个服务器程序,采用长连接,linux系统。
有N个客户端,采用windows.
现在发现一个问题是:
在服务器上,用netstat 观看,在同一个端口上。一些客户端在同一个端口上有许多的连接(establish)。而观察客户端,只有一个连接(establish)
  

有人说服务器上是假连接。但到底是怎么回事呢?

请问,这是怎么回事?是怎么引起的?怎么解决?

谢谢!好急。

论坛徽章:
0
2 [报告]
发表于 2007-07-16 15:21 |只看该作者
不明白lz什么意思
服务器不是开放一个端口么?
许多客户端不都是连接服务器开放的这一个端口么?
这有什么问题?

论坛徽章:
0
3 [报告]
发表于 2007-07-16 15:25 |只看该作者
不是啊!一个客户端本身与服务器端只能有一个连接,但是现在在同一端口上有N个连接啊!服务器上看到有N个连接,但客房端只看到一个连接。

论坛徽章:
0
4 [报告]
发表于 2007-07-16 15:28 |只看该作者
一个客户端与服务器的同一个端口中,有N个连接啊!在服务器上看到。但是客户端机器上只看到一个连接。
例如:

在服务器上
netstat -an |grep 1000

10.10.1.251: 1030     1.1.1.1:1000 established
10.10.1.251: 1031     1.1.1.1:1000 established
10.10.1.251: 1032     1.1.1.1:1000 established

但实际上应该只有一个连接才对


在客户端上
netstat -an |grep 1000

10.10.1.251: 1032     1.1.1.1:1000 established

论坛徽章:
0
5 [报告]
发表于 2007-07-16 15:40 |只看该作者
没有错吧~~~
服务器连接了多个客户端所以会看到多个连接。
而客户端连接了一个服务器所以只看到一个连接。
另外你服务器开放的端口有几个?都是多少啊?

论坛徽章:
0
6 [报告]
发表于 2007-07-16 15:47 |只看该作者
服务器监听一个端口,当有连接时,用新创建的套接字去处理

论坛徽章:
0
7 [报告]
发表于 2007-07-16 19:10 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
8 [报告]
发表于 2007-07-16 19:27 |只看该作者
服务器端代码有问题!
估计是在listen的socket读数据导致的。
服务器端必须对accept成功的socket进行读写,读写完毕后关闭连接就没事了。
现在的现象说明你服务器端只管读数据,没有关闭socket
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP