UDP通信プロトコル
4165 ワード
Javaではネットワーク通信業でSocket(コンセント)通信と呼ばれ,通信を要求する2台の機器にSocketをインストールしなければならない.異なるプロトコルには異なるソケットUDP通信プロトコルの特徴がある:1.データ極をパケットにカプセル化し、接続なしに向ける.2.パケットサイズは64 Kに制限する.3.接続がないため、信頼性が低い4.接続を確立する必要がないため、速度が速い5.udp通信はサービス側とクライアントを区別せず、送信側と受信側だけを区別する.
例えば:物管のインターホン、Qチャット、ゲーム...
udpプロトコルの下のSocket:DatagramSocket(udpソケットサービス)DatagramPacket(パケットクラス)DatagramPacket(buf,length,address,port)buf:送信されたデータコンテンツlength:送信されたデータコンテンツのサイズ.address:送信先IPアドレスオブジェクトport:ポート番号.
1.送信側コード:
2.受信側コード:
例えば:物管のインターホン、Qチャット、ゲーム...
udpプロトコルの下のSocket:DatagramSocket(udpソケットサービス)DatagramPacket(パケットクラス)DatagramPacket(buf,length,address,port)buf:送信されたデータコンテンツlength:送信されたデータコンテンツのサイズ.address:送信先IPアドレスオブジェクトport:ポート番号.
1.送信側コード:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
/*
:
1. udp 。
2. , 。 ip 。
3. udp , 。
4. 。
*/
//
public class Demo1Sender {
public static void main(String[] args) throws IOException {
// udp
DatagramSocket datagramSocket = new DatagramSocket();
// , 。
String data = " udp ..";
//
DatagramPacket packet = new DatagramPacket(data.getBytes(), data.getBytes().length,InetAddress.getLocalHost() , 9090);
// udp
datagramSocket.send(packet);
// ---
datagramSocket.close();
}
}
2.受信側コード:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
//
/*
1. udp
2. 。
3. udp 。
4.
*/
public class Demo1Receive {
public static void main(String[] args) throws IOException {
// udp , 。
DatagramSocket socket = new DatagramSocket(9090);
// 。
byte[] buf = new byte[1024];
DatagramPacket datagramPacket = new DatagramPacket(buf, buf.length); // 1024
// udp
socket.receive(datagramPacket); //receive , 。 byte 。
System.out.println(" :"+ new String(buf,0,datagramPacket.getLength())); // getLength() 。
//
socket.close();
}
}