UDPトランスポート・マルチスレッド

送信と受信のウィンドウを作成

        、公開 クラスDemo3_MoreThread { 

            / ** 
             * @paramの引数は、
              * / 
            パブリック 静的な 無効メイン(String []型引数を){
                 新新)(スタート();.受信
                
                新しい新しい送信()スタート();. 
            } 
        
        } 

        クラスは、受信拡張スレッド{
             公共 RUN(){
                 試み{ 
                    DatagramSocketのソケット = 新新のDatagramSocket(6666)を;                     // ハーバーを作成するソケットと同等の作成します
                    =のDatagramPacketのパケット新しい新規のDatagramPacketの(新しい新しい バイト [1024]、1024);     // に対応するコンテナパケットを作成します
                    
                    ながらtrueに){ 
                        Socket.Receive(パケット);                                                 // 受信商品は
                        バイト [] = ARR packet.getData()。
                         INT LEN = packet.getLength(); 
                        文字列IP = packet.getAddress()はgetHostAddress();. 
                        のSystem.out.println(IP + ":" + 新しい新しい文字列(ARR、0 、LEN))。
                    }
                } キャッチ(IOExceptionをE){ 
                    
                    e.printStackTrace(); 
                } 
            } 
        } 

        クラス送る拡張スレッド{
             公共 ボイドRUN(){
                 試み{ 
                    DatagramSocketのソケットは = 新しい新しいのDatagramSocket();         //はハーバー作成するソケット同等を作成し 
                    、スキャナSC = 新しい新しいスキャナを(System.in); 
                    
                    一方、真の){ 
                        文字列STR =sc.nextLine();
                         IF( "終了" .equals(文字列))
                             BREAK ; 
                        のDatagramPacketパケット =                              //は、パケットを作成するには、コンテナに作成することと同じである
                                新しい新しい。のDatagramPacket(str.getBytes()、str.getBytes()の長さを、InetAddress.getByNameは( "127.0.0.1")、6666 ); 
                        socket.send(パケット);             // 送達
                    } 
                    Socket.close(); 
                }   キャッチ(IOExceptionをE){ 
                    
                    e.printStackTrace(); 
                } 
            }
        }

 

おすすめ

転載: www.cnblogs.com/yaobiluo/p/11357791.html