歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> 網絡編程server.c和client.c,測試不通,connection timeout!

網絡編程server.c和client.c,測試不通,connection timeout!

日期:2017/2/27 12:12:29   编辑:Linux文化

我在學習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一下,看看那個函數是做什麼的


Copyright © Linux教程網 All Rights Reserved