Java Socket是一種用于網絡通信的API,通過該API,我們可以在不同設備之間傳遞數據。Java Socket提供了一種機制,允許我們在應用程序之間建立網絡連接,這種連接是可靠和可完全控制的。本文將探討如何使用Java Socket同時發送和接收數據。
//創建客戶端Socket
Socket socket = new Socket(host, port);
//獲取輸出流,向服務器端發送登錄信息
OutputStream outputStream = socket.getOutputStream();
DataOutputStream dataOutputStream = new DataOutputStream(outputStream);
dataOutputStream.writeUTF(username + "," + password);
//獲取輸入流,讀取服務器端的響應
InputStream inputStream = socket.getInputStream();
DataInputStream dataInputStream = new DataInputStream(inputStream);
String response = dataInputStream.readUTF();
if ("SUCCESS".equals(response)) {
//登錄成功,執行其他操作
} else {
//登錄失敗,提示錯誤信息
}
//關閉連接
dataInputStream.close();
inputStream.close();
dataOutputStream.close();
outputStream.close();
socket.close();
上述代碼是客戶端向服務器端發送登錄信息,并讀取服務器端的響應。在這個例子中,我們同時使用了輸出流和輸入流,從而實現了同時發送和接收數據的功能。當向服務器端發送登錄信息時,我們使用DataOutputStream將數據寫入輸出流;當讀取服務器端的響應時,我們使用DataInputStream從輸入流中讀取數據。
需要注意的是,在實際應用中,我們經常需要在網絡連接上發送大量的數據,因此需要注意性能和效率方面的問題。為了提高性能和效率,我們可以使用緩沖流和線程池等技術。