會安裝valgrind告訴我問題是什麼,但不幸的是不能在這臺計算機上的任何新程序......任何人都可以告訴我,如果這個「回聲」程序存在明顯的問題?這樣做是爲了朋友,所以不知道客戶端的佈局是什麼,但我知道讀寫都是有效的套接字描述符,並且我測試了n = write(寫道,「我得到了你的消息\ n「,20);和n =寫(讀,「我收到了你的消息\ n」,20);這兩個工作都可以確認它不是無效fd的情況。謝謝!套接字讀/寫錯誤
int
main(int argc, char** argv) {
int reads = atoi(argv[1]) ;
int writes = atoi(argv[3]) ;
int n ;
char buffer[MAX_LINE];
memset(buffer, 0, sizeof(buffer));
int i = 0 ;
while (1) {
read(reads, buffer, sizeof(buffer));
n = write(writes,buffer,sizeof(buffer));
if (n < 0) perror("ERROR reading from socket");
}
在發生錯誤時檢查read()結果。使用memset的 – 2012-07-24 14:42:13