2014-10-31 114 views
0

ServerSocket接受到客戶端的連接後,ServerSocket可以在客戶端發送消息之前開始將數據寫入客戶端嗎?當我嘗試首先從ServerSocket寫入客戶端時,客戶端永遠阻止讀取它。但是,如果客戶端首先向服務器發送消息,則它們之間的I/O流工作正常。ServerSocket在從客戶端讀取之前可以寫入客戶端嗎?

+0

當然,您可以在客戶端發送任何內容之前寫入服務器<>客戶端套接字(由accept()返回)。服務器通常在連接時發送「歡迎」橫幅,然後詢問用戶名。有關可能的問題,請參閱EJP答案。 – 2014-11-01 08:49:18

回答

1

ServerSocket既不能讀取也不能寫入,但接受的Socket可以按任一順序或同時執行這兩種操作。

可能您正在讀取行但不發送行,否則不會刷新緩衝輸出流或作者。

1

是的,你是正確的,我的意思是從accept()方法獲取Socket。

我的問題很簡單。客戶端正在執行readLine()方法調用,但服務器未發送「\ n」字符。

相關問題