Java ソケット プログラミング (パート 2)(1)

黄舟
リリース: 2016-12-23 16:20:31
オリジナル
1795 人が閲覧しました

自己アドレス指定ソケット (データグラム ソケット)
、ストリーム ソケットを使用する各接続には一定の時間がかかるため、このオーバーヘッドを軽減するために、ネットワーク API は 2 番目のタイプのソケット、自己アドレス指定ソケット (データグラム ソケット) を提供します。セルフアドレス指定は、UDP を使用してアドレス指定情報を送信します (クライアント プログラムからサービス プログラムへ、またはサービス プログラムからクライアント プログラムへ)。セルフアドレス指定情報は、セルフアドレス指定ソケットを介して送信できる点です。セルフアドレス指定パケットは IP パケットに含まれるため、アドレス指定情報の長さは 60,000 バイトに制限されます。図 2 は、IP パケット内にある自己宛パケットの自己宛情報を示しています。
TCP が情報の宛先に確実に情報を到達させる方法とは異なり、UDP は、自分宛ての情報パケットが宛先に到達しない場合、送信者に自分宛てのパケットの再送信を要求しないためです。 UDP には各自己アドレス指定パケットにエラー検出情報が含まれており、UDP は各自己アドレス指定パケットが宛先に到着した後にのみ簡単なエラー チェックを実行します。検出に失敗した場合、UDP は自己アドレス指定パケットを破棄し、再置換は行いません。 - 送信者からの要求。これは郵便局を通じて手紙を送信するのと同様です。送信者は、手紙を送信する前に受信者との接続を確立する必要はありません。また、手紙が受信者に届くという保証もありません。アドレス指定されたソケットの動作には、DatagramPacket、DatagramSocket、および MulticastSocket の 3 つのクラスが含まれます。 DatagramPacket オブジェクトは自己宛パケットのアドレス情報を表し、DatagramSocket はクライアントプログラムおよびサービスプログラムの自己宛ソケットを表し、MulticastSocket はマルチキャスト送信可能な自己宛ソケットを表します。 Javaのネットパッケージで。
DatagramPacket クラス
セルフアドレス指定パッケージを使用する前に、まず DatagramPacket クラスについて理解する必要があります。アドレス情報とセルフアドレス指定パッケージは、このクラスによって作成されたオブジェクトにバイト配列の形式で圧縮されます。同時に
DatagramPacket にはいくつかのコンストラクターがあり、これらもコンストラクターの形式は異なりますが、通常はすべて共通の 2 つのパラメーターがあります: byte [] バッファーと int length バッファー パラメーターには、自己を格納するバイト配列への参照が含まれます。アドレス指定されたパケット情報、length はセクション配列の長さを表します。
最も単純なコンストラクタは DatagramPacket(byte []buffer, int length) です。このコンストラクタは、自己宛データ パケットの配列と配列の長さを決定しますが、自己宛データ パケットのアドレスとポート情報は持ちません。この情報は、メソッド setAddress(InetAddress addr) および setPort(int port) を呼び出すことによって後で追加できます。次のコードは、これらの関数とメソッドを示しています。
byte [] バッファ = 新しいバイト [100];
DatagramPacket dgp = 新しい DatagramPacket (buffer,buffer.length);
InetAddress ia = InetAddress.getByName ("www.disney.com");
dgp.setAddress (ia) ;
dgp.setPort (6000); // データグラム パケットをポート 6000 に送信します。

上記は Java ソケット プログラミング (パート 2) (1) の内容です。詳細については、PHP 中国語 Web サイトを参照してください。 (www.php.cn)!



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!