2011-02-01 8 views
2

私のコードにSocket socket=new Socket(ipAddress, port);があります。 byte[]を送って、そのソケットでbyte[]を受け取る必要があります。それを行う方法、使用するラッパー(私はいつもbyte[]を送り、byte[]を受け取る)?ソケット[0]を使用してバイト[]を送受信しています

+1

SOの質問をご覧ください:http://stackoverflow.com/questions/2878867/how-to-send-an-array-of-bytes-over-a-tcp-connection-java-programming –

答えて

5

Reading from and Writing to a Socketのチュートリアルをご覧ください。

あなたが希望ソケットにバイト配列を書き込むには:あなたがsocket.getInputStreamを使用することになり、読むために、

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

4

ラッパーは必要ありません。ソケットオブジェクトにgetInputStream()getOutputStream()を呼び出すだけです。返されるオブジェクトはread(byte[])write(byte[])のメソッドを持ちます。 read(byte[])の戻り値を考慮してください(実際にはのバイト数が返されます)。これは実際にはの読み取り値です。

3

サーバー側では、新しいServerSocketを作成し、ソケットオブジェクトにaccept()を呼び出して着信接続を受け入れます。

クライアント側では、新しいSocketを作成し、サーバのアドレスとポートを使用してconnect()と呼んで接続を開始します(新しいスレッドで新しく接続されたセッションを処理したい場合があります)。

関連する問題