2011-11-26 64 views
0

我創建了一個ServerSocket綁定在我的應用程序中的一個端口。我將這個應用程序分發到同一網絡中連接的PC上。我可以使用此端口向任何安裝應用程序的PC發佈請求。現在收件人可以收到這些消息,但是當他們將響應發送回請求的PC時,輸入流不會收到消息。有沒有辦法做到這一點。我不知道任何關於URGENT TCP消息的事情。我啓用了它,但我不知道如何發送它們。我的信息是否被默認丟棄?我沒有在其他線索中得到答案。Java SE套接字輸入流沒有得到迴應

+0

發表你的一些代碼,看看你在做什麼 – Cratylus

回答

1

在ClientSocket和ServerSocket中都應該有一個循環,使通信保持活動狀態。

否則:應在所有方(所有發送方和接收方設備)上同時實現客戶端套接字和服務器套接字。當服務器套接字A接收到一條消息時,爲了回覆,應該有一個客戶套接字回覆到服務器套接字B,該套接字駐留在設備中的發送方應用程序中。

這樣,所有具有相同端口的服務器套接字的設備都可以檢測並向對方發送消息。

當然,發件人的IP地址應該保留以便回覆。

1

flush PC上的outputstream發送數據嗎?

// Send data here 
yourOutputStreamReference.flush(); 
+0

你好,我正在做,除此之外,我已經嘗試過shutdowninputstream和shutdownoutputstream。我可以將我的請求發送給其他應用程序,但是當服務器發送迴應時,我無法得到它。 –

+0

相同的代碼:當我將請求發送給自己時..響應回到了我..在服務器端的客戶端。設備之間不會發生同樣的情況...... –

+0

正如我所知,所有響應都必須在重定向到該服務器的新請求中完成。 –