日期:2014-05-16  浏览次数:21608 次

LINUX 网络编程 connect error: network is unreachable
SOCKET 程序,编译通过,运行时提示connect error: network is unreachable,代码如下:


if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1){
perror("socket error");
exit(1);
}
serv_addr.sin_family=AF_INET;
serv_addr.sin_port=htons(POP3SERVPORT);
   
serv_addr.sin_addr.s_addr = inet_addr("123.125.50.29");
bzero(&(serv_addr.sin_zero),8);
if (connect(sockfd, (struct sockaddr *)&serv_addr,sizeof(struct sockaddr))==-1){  
perror("connect error");
}
。。。。。。


------解决方案--------------------
主机网络是否好的?还有123.125.50.29服务器上的监听程序端开了没?
------解决方案--------------------
应该是先bzero,然后再赋值吧。
探讨
SOCKET 程序,编译通过,运行时提示connect error: network is unreachable,代码如下:


if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1){
perror("socket error");
exit(1);
}
serv_addr.sin_family=AF_INET;
serv_a……

------解决方案--------------------
这个错误一般是网络设置错误,

如果对端的端口没有进程监听,回是另一个错误
------解决方案--------------------
http://linux.chinaunix.net/bbs/thread-630039-1-1.html

楼主可以参考一下这个帖子,看看IP有没有配置对。

你的是不是多宿主机啊?