서버의 디렉토리 정보를 클라이언트로 보내는데...
글쓴이: ckebabo / 작성시간: 일, 2005/04/03 - 11:04오전
서버의 디렉토리 정보를 클라이언트로 보내야 하는데 클라이언트에서 데이터를 받지 못하고 있습니다.
server.c
84 getcwd(buf, BUFSIZ);
85 dp = opendir(buf);
86
87 while((entry = readdir(dp)) != NULL) {
88 if(entry->d_name[0] != '.') {
89 printf("%s\t",entry->d_name);
90 send(socketfd, entry->d_name, trlen(entry->d_name)+1, 0);
91 printf("after send: %s\n", entry->d_name);
92 }
93 }
94
95 send(socketfd, " ", sizeof(" ")+1, 0);
96 closedir(dp);
client.c
34 while(1) {
35 if(recv(sockfd, buf, BUFSIZ, 0) <= 0) {
36 perror("recv");
37 }
38 if(buf[0] == ' ') break;
39 printf("%s\t", buf);
40 }
디렉토리의 정보를 하나씩 전송하게 되는데 클라이언트에선 출력이 하나도 없습니다. 서버에서 전송되는 제이터를 하나씩 출력해보면 제대로 전송이 되는 것 같은데 클라이언트는 받지를 못하니 이상합니다.
Forums:


클라이언트의 수신부분인 recv()함수에서 수신하는 소켓 정보가 잘못되었
클라이언트의 수신부분인 recv()함수에서 수신하는 소켓 정보가 잘못되었거나, 수신할때 선언해놓은 버퍼의 사이즈와 관련한 문제가 아닐까요...
Re: 서버의 디렉토리 정보를 클라이언트로 보내는데...
소스가 길지 않다면, 서버/클라이언트 소켓 커넥션하는쪽의 소스도 보여주심이~
댓글 달기