免费注册 查看新帖 |

Chinaunix

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

哪位大虾帮我看一下这小段socket连接出了什么问题?已解决 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-05 17:14 |只看该作者 |倒序浏览
下面是我的程序: \r\n\r\n#define PORTNUM  5000   \r\n\r\n char host[]=\"www.yahoo.com.cn\"; \r\n\r\n SOCKET ServerSock ; // Socket bound to the   server \r\n\r\n SOCKADDR_IN destination_sin;        // Server socket address \r\n\r\n PHOSTENT phostent = NULL;           \r\n\r\n WSADATA WSAData; \r\n\r\nWSAStartup(MAKEWORD(1,1), &WSAData); \r\n\r\n\r\n  // Create a TCP/IP socket that is bound to the server. \r\n   socket (AF_INET, SOCK_STREAM, 0); \r\n\r\n  // Fill out the server socket\'s address information. \r\n  destination_sin.sin_family = AF_INET; \r\n\r\n  phostent = gethostbyname (host)); \r\n\r\n // Assign the socket IP address. \r\n memcpy ((char FAR *)&(destination_sin.sin_addr),phostent->;h_addr,phostent->;h_length); \r\n\r\n // Convert to network ordering. \r\n destination_sin.sin_port = htons (PORTNUM); \r\n  \r\n // Establish a connection to the server socket. \r\n connect (ServerSock,(PSOCKADDR) &destination_sin,sizeof (destination_sin)) \r\n\r\n\r\n WSACleanup(); \r\n\r\n总是连不上,报错说是连接超时,没理由啊。。。。哪位大虾帮忙看下啦!! \r\n\r\n                                                              small_snap    \r\n                                                             a million thanks

论坛徽章:
0
2 [报告]
发表于 2005-07-05 17:51 |只看该作者

哪位大虾帮我看一下这小段socket连接出了什么问题?已解决

我急死了,拜托拜托啦!!!\r\n\r\n                                                                                 1 billion thanks\r\n                                                                             small_snap  

论坛徽章:
0
3 [报告]
发表于 2005-07-06 09:28 |只看该作者

哪位大虾帮我看一下这小段socket连接出了什么问题?已解决

www.yahoo.com.cn 的5000端口对你开放吗?\r\n你下回写这种测试程序前可以先telnet一下对端主机的端口,看是否开启\r\n\r\n这是我连接的结果:\r\nC:\\>;telnet www.yahoo.com.cn 5000\r\n正在连接到www.yahoo.com.cn...不能打开到主机的连接, 在端口 5000: 连接失败

论坛徽章:
0
4 [报告]
发表于 2005-07-06 09:40 |只看该作者

哪位大虾帮我看一下这小段socket连接出了什么问题?已解决

原帖由 \"jetwins\" 发表:\nwww.yahoo.com.cn 的5000端口对你开放吗?\r\n你下回写这种测试程序前可以先telnet一下对端主机的端口,看是否开启\r\n\r\n这是我连接的结果:\r\nC:\\>;telnet www.yahoo.com.cn 5000\r\n正在连接到www.yahoo.com.cn...不能?.........
\r\n\r\n\r\n谢谢大虾的回复!!\r\n 可是,不是所有的tcp/ip的端口都是80吗?80换成16进制数,再把高低位互换就是5000啊。。。\r\n\r\n                                                   small_snap   \r\n\r\n                                               1 million thanks

论坛徽章:
0
5 [报告]
发表于 2005-07-06 10:38 |只看该作者

哪位大虾帮我看一下这小段socket连接出了什么问题?已解决

destination_sin.sin_port = htons (80);\r\n你试试。\r\n\r\n还有,不是所有tcp/ip端口都是80,而是大部分对外的http服务器都使用80端口。

论坛徽章:
0
6 [报告]
发表于 2005-07-06 10:47 |只看该作者

哪位大虾帮我看一下这小段socket连接出了什么问题?已解决

The htons function takes a 16-bit number in host byte order and returns a 16-bit number in network byte order used in TCP/IP networks.\r\n\r\n这是msdn对htons()函数的解释,注意16-bit是指u_short,而非16进制。

论坛徽章:
0
7 [报告]
发表于 2005-07-06 11:21 |只看该作者

哪位大虾帮我看一下这小段socket连接出了什么问题?已解决

原帖由 \"jetwins\" 发表:\ndestination_sin.sin_port = htons (80);\r\n你试试。\r\n\r\n还有,不是所有tcp/ip端口都是80,而是大部分对外的http服务器都使用80端口。
\r\n\r\n大虾我试过了,还是:error:10060:\r\n\r\nWSAETIMEDOUT (10060) \r\n\r\nConnection timed out. \r\n\r\nA connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. \r\n\r\n55555555。。。。 \r\n\r\n\r\n                                                     2 millions thanks\r\n                                                        small_snap

论坛徽章:
0
8 [报告]
发表于 2005-07-06 11:54 |只看该作者

哪位大虾帮我看一下这小段socket连接出了什么问题?已解决

\r\n解决了解决了!!就是把端口改成了80,刚才连接失败是因为一不小心把:\r\n\r\n // Assign the socket IP address.\r\n  memcpy ((char FAR *)&(destination_sin.sin_addr),phostent->;h_addr,phostent->;h_length);\r\n\r\n给当成注释了,谢谢上面那位大虾!!谢谢!!!!\r\n\r\n                                                                             10 billions thanks\r\n                                                                                        small_snap
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP