서버의 디렉토리 정보를 클라이언트로 보내는데...
글쓴이: 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: 서버의 디렉토리 정보를 클라이언트로 보내는데...
소스가 길지 않다면, 서버/클라이언트 소켓 커넥션하는쪽의 소스도 보여주심이~
댓글 달기