[問題] client和server問題

看板LinuxDev作者 (今天不回家)時間14年前 (2011/05/28 19:39), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/1
不太清楚裡面是怎樣運作的 以下是程式碼 #include <stdio.h> #include <string.h> #include <errno.h> #include<sys/socket> //#include <winsock2.h> #include <resolv.h> //#include<windows.h> #define PORT_TIME 13 /* "time" (not available on RedHat) */ #define PORT_FTP 21 /* FTP connection port */ #define SERVER_ADDR "127.0.0.1" /* localhost */ #define MAXBUF 1024 int main() { int sockfd; struct sockaddr_in dest; char buffer[MAXBUF]; /*---Open socket for streaming---*/ if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0 ) { perror("Socket"); exit(errno); } /*---Initialize server address/port struct---*/ bzero(&dest, sizeof(dest));//copy zero to the string dest.sin_family = AF_INET;//AF-INET ===>internet protocols dest.sin_port = htons(PORT_FTP);//set port if ( inet_aton(SERVER_ADDR, &dest.sin_addr.s_addr) == 0 )//inet_aton() convert ip address to integer { perror(SERVER_ADDR); exit(errno); } /*---Connect to server---*/ if ( connect(sockfd, (struct sockaddr*)&dest, sizeof(dest)) != 0 )//connect socket { perror("Connect "); exit(errno); } /*---Get "Hello?"---*/ bzero(buffer, MAXBUF); recv(sockfd, buffer, sizeof(buffer), 0); printf("%s", buffer); /*---Clean up---*/ close(sockfd); return 0; } 執行結果: connection refused 不是去連結本機嗎? 並起連結port:21的地方 為何還會有無法連結的情況?? 請版上神人指導一下 感激 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.16.190

05/28 19:58, , 1F
你的電腦有執行FTP server程式嗎?
05/28 19:58, 1F

05/29 21:52, , 2F
有~但是還是連不進去...
05/29 21:52, 2F

05/30 18:05, , 3F
check the firewall setting?
05/30 18:05, 3F

06/01 14:23, , 4F
telnet 127.0.0.1 21 先?
06/01 14:23, 4F

06/03 15:24, , 5F
感謝~可以使用了!!
06/03 15:24, 5F
文章代碼(AID): #1DuDy6Qv (LinuxDev)
文章代碼(AID): #1DuDy6Qv (LinuxDev)