JAvaネットワークプログラミングUDP
UDPはブロードキャストデータグラムに基づく伝送プロトコルであり、接続がなく、信頼できないプロトコルである.
UDPプログラミングでは主に2つのクラスが用いられる:java.net.DatagramSocket:クライアントクライアントはメッセージjavaを送信または受信するために使用する.net.DatagramKet:データ・レポート
UDPプログラミングコードの例は次のとおりです.
送信側コード
受信側コード
受信側を先に実行し、送信側を実行します!そうでなければ、受信側はデータを受信できず、receive()はずっと待っています!受信側の実行結果:
受信内容:Hello World
送信側の実行結果:
送信されました.
UDPプログラミングでは主に2つのクラスが用いられる:java.net.DatagramSocket:クライアントクライアントはメッセージjavaを送信または受信するために使用する.net.DatagramKet:データ・レポート
UDPプログラミングコードの例は次のとおりです.
送信側コード
package send;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketException;
public class DataSender {
public static void main(String[] args) throws IOException {
// ds
DatagramSocket ds=new DatagramSocket();
//
String str="Hello World";
byte[] bs=str.getBytes();
//
InetSocketAddress target=new InetSocketAddress("192.168.0.105",5555);
//
DatagramPacket dp=new DatagramPacket(bs,0,bs.length,target);
//
ds.send(dp);
}
}
受信側コード
package Receive;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class DataReceiver {
public static void main(String[] args) throws IOException {
// 5467
DatagramSocket socket =new DatagramSocket(5555);
// ,
byte[] buffer =new byte[128];
DatagramPacket p=new DatagramPacket(buffer,buffer.length);
// ,
socket.receive(p);
//
String s=new String(buffer,0,p.getLength());
System.out.println(" :"+s);
}
}
受信側を先に実行し、送信側を実行します!そうでなければ、受信側はデータを受信できず、receive()はずっと待っています!受信側の実行結果:
受信内容:Hello World
送信側の実行結果:
送信されました.