当前位置:Linux教程 - Linux文化 - 网络编程server.c和client.c,测试不通,connection timeout!

网络编程server.c和client.c,测试不通,connection timeout!


我在学习Linux下网络编程,用《linux操作系统下c语言编程入门》网络编程部分的例子,在一台安装Fedora core 4的机器上编译运行没问题 打开两个终端,在其中一个运行server程序 ./server 9999 (绑定的端口) 在另一个终端运行./client localhost 9999 (Localhost改称本机Ip也是可以的)

问题:在一台安装TurboLinux的机器上,也编译通过,但是如上运行时,client程序结果是: connection timeout. 这台机器能够上网,也可以被ping通的,肯定是本机系统的问题,但是我不知道如何查,从哪里查,谢谢大家帮忙! 下面是源程序 /******* 服务器程序 (server.c) ************/ #include #include #include #include #include #include #include #include int main(int argc, char *argv[]) { int sockfd,new_fd; struct sockaddr_in server_addr; struct sockaddr_in client_addr; int sin_size,portnumber; char hello[]="Hello! Are You Fine?\n"; if(argc!=2) { fprintf(stderr,"Usage:%s portnumber\a\n",argv[0]); exit(1); } if((portnumber=atoi(argv[1]))>> 此贴的回复 >> 我在rh9上试了,可以的。 是不是你的机器开了防火墙,但是防火墙应该不会拒绝本机的联接的。 不解!

>>> 此贴的回复 >> 如果不是root用户,端口号应大于1024

>>> 此贴的回复 >> 你先用netstat -lnp看看监听端口起来没有,然后用telnet localhost 9999试试

>>> 此贴的回复 >> gethostbyname,你用这个函数做什么?直接fill sockaddr_in,然后connect,不成功我给你钱的!!!!!! 不行就man一下,看看那个函数是做什么的