我很迷茫。我無法弄清楚如何停止從服務器讀取。我基本上是從服務器發送目錄中的每個文件列表到客戶端。繼承人我在做什麼。如何停止從插座讀取
服務器端:
struct dirent *ep = readdir(dp);
while(ep){
sprintf(buf, "%s", (ep->d_name));
n = write(newsock, buf, MAX);
ep = readdir(dp);
}
客戶端:
while(n = read(sock, buf, MAX)){
printf("buf: %s\n" , buf);
}
所以服務器端的東西正常工作。我可以看到我發送的所有文件名都是正確的,但在客戶端它讀取所有名稱,但只是等待閱讀更多。
你爲什麼要發送所有的NUL字節(和垃圾)? – wildplasser 2013-02-27 17:47:35