UDPデータグラムを介して2つのJavaクラス間で転送されるバイトバッファの例を提供できますか?
none
質問する
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 に答える