0

DatagramSocketはアンドロイドアプリケーションで使用しています。クライアントからサーバーにリクエストを送信しています。サーバーは、文字列値 1 または 0 で応答します。私のコードサンプルは次のとおりです。

// client sends
socket.send(datagrampacket); 

//Server have
socket.receive (datagrampacket);

Logging を使用してサーバーからの応答を表示していますが、サーバーの応答を表示する方法がわかりません (0 または 1 を受け取った文字列)。

サーバーが応答した後、クライアント側で datagrampacket を受信するにはどうすればよいですか (文字列として 0 または 1 の可能性があります)。

4

1 に答える 1

1

socket.receive()データを受信するまでブロックします。受信データはdatagrampacketバイト配列になります。

表示するには、バイト配列を文字列に変換します。たとえば、Java では次のようになります。

byte[]data=datagrampacket.getData();
int offset=datagrampacket.getOffset();
int length=datagrampacket.getLenght();
System.out.println( new String(data, offset, length) ) ;
于 2013-06-17T12:06:06.723 に答える