udp ---ユーザーデータグラムプロトコルは、単純なデータグラム指向の輸送層プロトコルです。 UDPは信頼性を提供しません。アプリケーションからIPレイヤーに送信されたデータグラムを送信するだけですが、目的地に到達できることを保証するものではなく、データパケットが到着する順序も保証しません。 UDPは、データグラムを送信する前にクライアントとサーバーの間に接続を確立する必要がなく、タイムアウト再送信などのメカニズムがないため、送信速度は非常に高速です。
JavaでのUDPの実装:
* UDP:
* クライアント:
*1。UDP通信用のソケットオブジェクトの作成 - DatagramSocket(UDPデータの送信と受信用)---データグラムソケット
* 2。データ、カプセル化パッケージの準備--- Datagrampacket(データパッケージ)
* 3。送信メソッドを介してデータを送信します
* 4.ソケットオブジェクトソケットオブジェクトを閉じます
*サーバー側:データを受信します
* 1。ソケットソケットオブジェクトを作成し、ポート番号をバインドします
* 2。パッケージオブジェクトを作成し、空の配列を作成し、データを受信する準備をします
* 3。データを受信します
* 4。リソースを閉じます
* UDPブロードキャスト方法:
*ポートが聞く必要がある場合、同じネットワークセグメントのすべてのホストがそれを受信できます
*クライアントはブロードキャストを送信し、ポート監視がメッセージを受信および印刷できるようにするサーバーを送信します
*ブロードキャストの実装:ブロードキャストはクライアントによって送信され、サーバーが受信します
* string host = "255.255.255.255"; //ブロードキャストアドレスはすべてのホストを表します
* 10.0.122.255 ----最初の3つのネットワークセグメントが10.0.122であるすべてのホストが
コード実装:
クライアント(送信):
java.io.ioexception; Import java.net.datagrampacket;インポートjava.net.datagramsocket; import java.net.inetaddress; import java.net.socketexception; import java.net.uncknownhostexception; public class udp_client {public void boid agow [] string []オブジェクトの作成//データグラムソケットを作成し、ローカルホストの利用可能なポートにバインドします。 datagramsocket socket = new DatagramSocket(); // 2。パッケージbyte [] arr = "client:haha ..."。getBytes(); // 4つのパラメーター:パケットホストオブジェクトのパケットの長さポート番号datagrampacketパケット= new datagrampacket(arr、arr.length、inetadress.getByname( "10.0.122.255")、4000); // 3。 socket.send(packet)を送信します。 // 4。リソースSocket.Close()を閉じます。 }}サーバー側(レシーバー側):
java.io.ioexception;インポートjava.net.datagrampacket;インポートjava.net.net.datagramsocket; import java.net.socketexception; import java.util.arrays; public class udp_server {public static void main(String [] args = datagrocket(new datagrocket); // 2 byte [] arr = new byte [1024]; datagrampacket packet = new datagrampacket(arr、arr.length); // 3プログラムが実行されている場合、受信方法はリスニング状態Serversocket.Receive(packet)にあります。 //パッケージBYTE [] arr1 = packet.getData()からデータを取得します。 System.out.println(new String(arr1)); // 4 Serversocket.Close(); }}結果:
最初の3つのネットワークセグメントは、ポート番号10.0.122のすべてのホストのポート番号4000のサーバーです。それらが開いている限り、それらは受け取ることができます -
クライアント:ハハ。 。 。 。
JavaのUDPに基づく上記のブロードキャストフォーム(説明の例)は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。