UDPデータグラムを介して2つのJavaクラス間で転送されるバイトバッファの例を提供できますか?
6561 次
2 に答える
4
これどう?
import java.io.IOException;
java.net.DatagramPacket をインポートします。
java.net.DatagramSocket をインポートします。
java.net.InetSocketAddress をインポートします。
パブリック クラス サーバー {
public static void main(String[] args) throws IOException {
DatagramSocket ソケット = 新しい DatagramSocket(新しい InetSocketAddress(5000));
バイト[]メッセージ=新しいバイト[512];
DatagramPacket パケット = 新しい DatagramPacket(メッセージ、メッセージの長さ);
socket.receive(パケット);
System.out.println(new String(packet.getData(), packet.getOffset(), packet.getLength()));
}
}
import java.io.IOException;
java.net.DatagramPacket をインポートします。
java.net.DatagramSocket をインポートします。
java.net.InetSocketAddress をインポートします。
パブリック クラス クライアント {
public static void main(String[] args) throws IOException {
DatagramSocket ソケット = 新しい DatagramSocket();
socket.connect(新しい InetSocketAddress(5000));
byte[] message = "オー ハイ!".getBytes();
DatagramPacket パケット = 新しい DatagramPacket(メッセージ、メッセージの長さ);
socket.send(パケット);
}
}
于 2008-09-17T04:44:13.417 に答える
0
@なし
DatagramSocket クラスは確かに磨き上げる必要があります。DatagramChannel はクライアントにとってはわずかに優れていますが、サーバー プログラミングにとっては混乱を招きます。例えば:
import java.io.IOException;
java.net.InetSocketAddress をインポートします。
java.nio.ByteBuffer をインポートします。
java.nio.channels.DatagramChannel をインポートします。
パブリック クラス クライアント {
public static void main(String[] args) throws IOException {
DatagramChannel channel = DatagramChannel.open();
ByteBuffer buffer = ByteBuffer.wrap("オー ハイ!".getBytes());
channel.send(buffer, new InetSocketAddress("localhost", 5000));
}
}
私が言うJSR-203を持ってきてください
于 2008-09-17T04:57:05.400 に答える