この記事の例は、UDPモードを使用してJavaの特定のコードを共有して、参照用のチャットプログラムを作成します。特定のコンテンツは次のとおりです
Javaコード:
/* UDPモードを使用して、データを送信して受信するチャットプログラムを作成します。 1つのスレッドが受信され、1つのスレッドが送信されます。送信および受信アクションは一貫性がないため、2つの実行方法を使用する必要があります。これらの2つの方法は、異なるクラスにカプセル化する必要があります。このプログラムは、いくつかの例外処理を無視し、UIコンポーネントを追加しません。これは、ポート9999を受け入れるポート9998を単純に送信します。ローカルエリアネットワークブロードキャストアドレスを使用するため、自分自身を送信したメッセージも受け取りました[例]:Simple Console Chat Program*/ Import Java.net。*; java.io.*をインポートします。 class demo {public static void main(string [] args)throws exception {datagramsocket sendsocket = new datagramsocket(9998); // datagramsocketsecocketsocket = new DatagramSocket(9999)を送信します。 //新しいスレッド(new MSGSend(SendSocket))を受信します。start(); //スレッドを送信newスレッド(new Msgrece(Recesocket))。start(); //スレッドを受信}} class msgsend実装runnable // send {private datagramsocket dsock; public msgsend(datagramsocket dsock){this.dsock = dsock; } public void run(){bufferedreader bufr = new BufferedReader(new inputstreamReader(System.in));文字列linestr = null; try {while(true){linestr = bufr.readline(); if(linestr!= null){if(linestr.equals( "over886")){break; } else {byte [] databuf = linestr.getBytes(); datagrampacket datapack = //データパッケージングnew datagrampacket(databuf、databuf.length、inetaddress.getByname( "192.168.1.255")、//ブロードキャスト9999 //ターゲットポート); dsock.send(datapack); }}}} bufr.close(); dsock.close(); } catch(Exception e){新しいruntimeException( "send failed!"); }}} class msgreceはrunnable // receive {private datagramsocket dsock; public MSGrece(datagramsocket dsock){this.dsock = dsock; } public void run(){try {while(true){byte [] databuf = new byte [1024]; datagrampacket datapack = new datagrampacket(databuf、databuf.length); dsock.receive(datapack); //取得したデータを指定されたデータパケット文字列ip = datapack.getAddress()に保存します。gethostAddress();文字列data = new String(datapack.getData()、0、datapack.getLength()); int port = datapack.getport(); System.out.println(); system.out.println( "from ip"+ip+"<逆ポート>:"+ポート+"メッセージ"); System.out.println(data); }} catch(Exception e){new runtimeException( "Accept failed!"); }最後に{dsock.close(); }}}上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。