こんにちは私は、基本的なクライアントからサーバへのシナリオを設定し、それらの間でデータを交換するコードを持っています。基本的に、サーバーはクライアントからのデータを待っていて、クライアントから送信されると、それを画面に表示します。クライアント間でメッセージサイズを取得する
私はデータの長さを送信することを任されています。私は、データの実際の長さまたは送信されたパケットの合計サイズを意味する可能性があるため、これが何を意味するのかについて少し混乱しています。
メッセージは単にMaryです。 これは、パケットサイズが4になることを意味しますか?コードで今
System.out.println("Packet Length: "+packet.getData().length);
System.out.println("Data Length: "+message.getBytes().length);
彼らの両方が4を返す。しかし、最大データパケットサイズは、この数はたくさん大きくなる必要がある場合ので、イムは思っ65535です...
:私はそうのように、これを取得するコードを持っています:
public static void main(String[] args) throws IOException
{
String message = "Mary";
byte[] buf = message.getBytes();
System.out.println("Aclient: message is:" + message);
String serverName = "127.0.0.1";
if (args.length == 1) {
serverName = args[0];
}
// get a datagram socket
DatagramSocket socket = new DatagramSocket();
// send request
InetAddress address = InetAddress.getByName(serverName);
int port = 4441;
DatagramPacket packet = new DatagramPacket(
buf, buf.length, address, port);
System.out.println("Packet Length: "+packet.getData().length);
System.out.println("Data Length: "+message.getBytes().length);
System.out.println("Aclient: destination name:" +
address.getHostName() + " destination port:" + port);
System.out.println("Aclient: sending datagram");
socket.send(packet);
}
実際のコードを見ずにどのように知っていると思いますか? –
私の悪い...今すぐ追加しました – Katana24