我開發了一個連接到服務器的客戶端。客戶端向服務器寫入內容,服務器讀取並回應客戶端。然後客戶端讀取服務器說的內容並終止。我希望延長這一點,允許客戶端和服務器繼續說再三次,然後終止。我生成了一個for循環,在這個循環中我處理代碼在服務器和客戶端上的讀寫代碼,但是它在無限循環中結束並寫入第一次輸入的文本,而不是要求用戶輸入新數據。傳遞服務器/客戶端消息C
,在讀取/寫入處理的服務器代碼如下:
int temp = 0;
char cha [10] = "helloworld";
while(temp = 3){
int rc;
char ch[100];
rc = read(newsockfd, &ch, 100);
printf("Client sent: %s\n", ch) ;
write(newsockfd, cha + temp, 100);
temp ++;
}
close(sockfd);
close(newsockfd);
這是客戶端代碼中的讀/寫的處理:
int temp = 0;
char cha[10] = "abcdefhijk";
while(temp = 3)
{
int rc;
char ch2 [100];
rc = write(sockfd, cha + temp, 100);
read(sockfd, &ch2, 100);
printf("Server said: %s\n", ch2);
temp ++;
}
sleep(2);
close(sockfd);
此外,我關閉循環完成後的文件描述符。
任何幫助非常感謝
'while(temp = 3)'看起來像一個錯字。建議:使用for()循環。 – wildplasser 2012-03-24 16:12:49