[英]Alternately sending and receiving byte[] using Socket
我需要使用Socket交替發送和接收字節[]。 這個怎么做 ? 使用什么包裝器? 這樣可以嗎,或者我可以更快地做到這一點
public boolean SendMessage(byte[] data){
try{
socket = new Socket(ipAddress, port);
OutputStream socketOutputStream = (OutputStream) socket.getOutputStream();
socketOutputStream.write(data);
socket.close();
return true;
}
catch(Exception exc){
System.err.println(exc.getStackTrace());
}
return false;
}
調用此函數后,我調用函數以接收字節,然后再次發送=> receive等。 有更快的方法嗎?
使用相同的套接字進行讀取和寫入,只需同步兩個應用程序,以便一個讀取而另一個寫入,反之亦然。
您應該使用相同的套接字,而不是每次都創建一個新的套接字來發送/接收然后關閉它。
說,創建兩個線程。 一個作為SenderThread,另一個作為ReceiverThread。 SenderThread創建一個套接字,然后獲取輸出流,您可以使用帶有標志的while循環來指示它是否應該運行。
Eg: while (running){
應該在ReceiverThread中完成相同的操作。 創建套接字和輸入流。 然后運行while循環。
在while循環中,您可以提供將數據寫入流或從流中讀取數據的邏輯。
使用wait和notify,以便線程和諧運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.