2011-02-01 79 views
2

我在我的代碼Socket socket=new Socket(ipAddress, port);接收字節[]。我需要發送byte[]並通過該套接字接收byte[]。如何做到這一點,使用什麼包裝(我總是發送byte[]並收到byte[])?發送和使用插座

+1

看SO問題:http://stackoverflow.com/questions/2878867/how-to-send-an-array-of-bytes-over-a-tcp-connection-java-programming – 2011-02-01 09:06:04

回答

5

看看上Reading from and Writing to a Socket教程。

要寫入的字節數組到一個插座您可以:

byte[] message = ...; 
Socket socket=new Socket(ipAddress, port); 
OutputStream socketOutputStream = socket.getOutputStream(); 
socketOutputStream.write(message); 

同樣,讀,你會用socket.getInputStream

4

你不需要包裝。請在套接字對象上調用getInputStream()getOutputStream()。返回的對象有read(byte[])write(byte[])方法。注意掌握的read(byte[])考慮返回值(它返回字節實際上讀數)。

3

在服務器端,創建一個新的ServerSocket和插座對象調用accept()接受傳入的連接。 (你可能希望處理新連接的會話中一個新的線程,以避免阻塞主線程。)

在客戶端,創建一個新的Socket並調用connect()與服務器的地址和端口發起連接。