2011-06-01 100 views
0

所以,我有一個簡單的套接字服務器和一個套接字。我成功運行套接字服務器。客戶端套接字連接併發送一個字符串 - 這是有效的。我希望服務器根據這個字符串寫回不同的信息。我可以檢查字符串是什麼,並獲得一個OutputStream給客戶端,但每當我寫入並刷新時,InputStream客戶端從不處於就緒狀態,並且永遠不會收到消息......我只是不'看看我做錯了什麼。服務器的網絡輸出不能被客戶端讀取

所有的代碼是在http://pastebin.com/u/omegazero

NetworkAgent.java是客戶端,SimbadAgent.java是服務器,並且UserAgent.java是實際執行的上述服務器(服務器是抽象的其他原因)。

編譯所有內容,然後運行UserAgent,然後運行NetworkAgent,您將看到會發生什麼。

回答

1

執行你的代碼(在SimbadAgent中對StringQueue的引用進行評論之後),我得到了以下輸出。

wrote get_cmd 
Input shutdown? false 
iS()iI()iM()iB()iA()iD()i()iB()iO()iO()iY()iA()NETWORKAGENT: Response to "get_cmd": "SIMBAD BOOYA" 
+0

等等......真的嗎?我將不得不在另一個操作系統上測試它......也許這是我的Debian安裝程序或其他奇怪的東西。謝謝。 – nathas 2011-06-01 18:09:54

+0

我在Ubuntu 11.04 – 2011-06-02 04:52:08

+0

中試過這個,其實是因爲我不得不將它們切換到PrintWriter和BufferedReader,如果有人最終讀到這個。 Java對字符流顯然是反覆無常的。 – nathas 2011-06-08 22:35:23

相關問題