免费注册 查看新帖 |

Chinaunix

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

求救!实在找不到合适的地方了问个socket的问题,希望高人指点 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-17 15:08 |只看该作者 |倒序浏览
我的服务器和客户端程序在同一台主机上测试,当地址填入127.0.0.1时通信即正常进行,sock的所有操作没问题,但是换成实际的IP地址例如:172.16.160.58时,connect函数返回10061错误,仔细检查过不是IP地址的主机序网络序的问题,调了好长时间没发现问题的原因,希望高手指点!

论坛徽章:
0
2 [报告]
发表于 2008-10-17 15:13 |只看该作者
有详细的出错信息吗?\r\n(10061)    \r\n  Connection   refused.    \r\n  No   connection   could   be   made   because   the   target   machine   actively   refused   it.   This   usually   results   from   trying   to   connect   to   a   service   that   is   inactive   on   the   foreign   host—that   is,   one   with   no   server   application   running.\r\n\r\nhttp://topic.csdn.net/t/20020517/10/729380.html\r\n\r\n其实10061一般是因为服务器负荷过重, 客户端连接的出错代码. \r\n\r\n有两种可能. \r\n\r\n1. 服务器太过于繁忙, 以至没办法响应. \r\n\r\n2. 客户端连接太过于频繁(就是说你不停的\"打搅\"服务器, 例如断开连接又继续试图连接), 服务器不胜其扰(服务器对每个客户端的连接有一定的规定), 暂时拒绝该客户的连接.\n\n[ 本帖最后由 ziggler 于 2008-10-17 15:16 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-10-17 15:18 |只看该作者

回复 #2 ziggler 的帖子

没有,就是用getSockErrno()得到10061,其他的没什么,我实现的时非阻塞的connect,用select检测,但是填入实际的IP地址后用阻塞的connect连接也返回10061

论坛徽章:
0
4 [报告]
发表于 2008-10-17 15:21 |只看该作者

回复 #2 ziggler 的帖子

我这个程序有些特别,因为时测试程序,所以为了实现上简单,服务器有时也需要连接客户端的listen socket,也会返回10061,所以应该不会是哪一端太忙造成的

论坛徽章:
0
5 [报告]
发表于 2008-10-17 15:28 |只看该作者
如果端口已经被绑定了一次\r\n\r\n除非Shutdown(Socket)/CloseSocket(socket)\r\n\r\n否则不能再次绑定 ,用netstat查看端口捆绑情况~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP