0
我在客戶端實現多客戶端連接的客戶端服務器聊天程序時遇到問題。問題是,我遇到的問題是,如何讓客戶知道鍵入內容?目前,我的printf語句沒有被輸出到屏幕上。有沒有一種方法可以通知客戶,可以不使用新行來輸入?c socket:刷新數據讓客戶端知道鍵入
這裏是有關代碼
客戶端
while(1) {
printf(">"); //this isn't being outputted
fd_set rfds;
FD_ZERO(&rfds);
FD_SET(serverSocket, &rfds);
FD_SET(0, &rfds);
if(select(serverSocket+1, &rfds, NULL, NULL, NULL) < 0) {
perror("select");
exit(-1);
}
if (FD_ISSET(serverSocket, &rfds)) {
//recv data from server
}
else if (FD_ISSET(0, &rfds)) {
//read keyboard
}
}
'printf(「>」);' - >>'fprintf(stderr,「> \ n」);'這是輸出。 – wildplasser 2013-02-10 00:55:10
你可以在'printf'之後用'fflush(stdout);'嘗試一下嗎? – Ganesh 2013-02-10 00:57:23
@wildplasser發佈您的解決方案,以便我可以標記爲答案。黑客的位,但我想它在這種情況下工作。除非有人有更好的選擇。 – theStig 2013-02-10 01:03:16