<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    keep moving!

    We must not cease from exploration. And the end of all our exploring will be to arrive where we began and to know the place for the first time.
    隨筆 - 37, 文章 - 2, 評論 - 3, 引用 - 0
    數據加載中……

    UDP學習之一,UDP的簡單例子

    import java.net.*;
    import java.io.*;
    public class EchoClient {
      
    private String remoteHost="localhost";
      
    private int remotePort=8000;
      
    private DatagramSocket socket;

      
    public EchoClient()throws IOException{
         socket
    =new DatagramSocket(); //與本地的任意一個UDP端口綁定
      }

      
    public static void main(String args[])throws IOException{
        
    new EchoClient().talk();
      }

      
    public void talk()throws IOException {
        
    try{
          InetAddress remoteIP
    =InetAddress.getByName(remoteHost);

          BufferedReader localReader
    =new BufferedReader(new InputStreamReader(System.in));
          String msg
    =null;
          
    while((msg=localReader.readLine())!=null){
            
    byte[] outputData=msg.getBytes();
            DatagramPacket outputPacket
    =new DatagramPacket(outputData,
                                        outputData.length,remoteIP,remotePort);
            socket.send(outputPacket);  
    //給EchoServer發送數據報
            
            DatagramPacket inputPacket
    =new DatagramPacket(new byte[512],512);
            socket.receive(inputPacket);
            System.out.println(
    new String(inputPacket.getData(),0,inputPacket.getLength()));  
            
    if(msg.equals("bye"))
              
    break;
           }

        }
    catch(IOException e){
           e.printStackTrace();
        }
    finally{
           socket.close();
        }

      }

    }
      



    /****************************************************
     * 作者:孫衛琴                                     *
     * 來源:<<Java網絡編程精解>>                       *
     * 技術支持網址:www.javathinker.org                *
     **************************************************
    */

    import java.io.*;
    import java.net.*;
    public class EchoServer {
      
    private int port=8000;
      
    private DatagramSocket socket;

      
    public EchoServer() throws IOException {
        socket
    =new DatagramSocket(port); //與本地的一個固定端口綁定
        System.out.println("服務器啟動");
      }


      
    public String echo(String msg) {
        
    return "echo:" + msg;
      }


      
    public void service() {
        
    while (true{
          
    try {
            DatagramPacket packet
    =new DatagramPacket(new byte[512],512);
            socket.receive(packet);  
    //接收來自任意一個EchoClient的數據報
            String msg=new String(packet.getData(),0,packet.getLength());         
            System.out.println(packet.getAddress() 
    + ":" +packet.getPort()
                                
    +">"+msg);
            
            packet.setData(echo(msg).getBytes());
            socket.send(packet);  
    //給EchoClient回復一個數據報
          }
    catch (IOException e) {
             e.printStackTrace();
          }

        }

      }


      
    public static void main(String args[])throws IOException {
        
    new EchoServer().service();
      }

    }




    /****************************************************
     * 作者:孫衛琴                                     *
     * 來源:<<Java網絡編程精解>>                       *
     * 技術支持網址:www.javathinker.org                *
     **************************************************
    */

    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetAddress;
    import java.net.UnknownHostException;

    public class SendUdpData {
        
    private String remoteHost = "localhost";
        
    private int remotePort = 8000;
        
    private DatagramSocket socket;

        
    public SendUdpData() throws IOException {
            socket 
    = new DatagramSocket(); // 與本地的任意一個UDP端口綁定
        }


        
    public void sendData() {
            
    try {
                InetAddress remoteIP 
    = InetAddress.getByName(remoteHost);
                
    byte[] outputData = "Hello!".getBytes();
                DatagramPacket outputPacket 
    = new DatagramPacket(outputData,
                        outputData.length, remoteIP, remotePort);
                socket.send(outputPacket); 
    // 給EchoServer發送數據報
            }
     catch (UnknownHostException e) {
                e.printStackTrace();
            }
     catch (IOException e) {
                e.printStackTrace();
            }
     finally {
                socket.close();
            }

        }


        
    public static void main(String[] args) throws IOException {
            
    new SendUdpData().sendData();
        }

    }

    posted on 2008-10-04 12:37 大石頭 閱讀(363) 評論(0)  編輯  收藏 所屬分類: 基礎

    主站蜘蛛池模板: 久久久无码精品亚洲日韩软件| 成人毛片免费网站| 国产午夜亚洲不卡| 精品亚洲av无码一区二区柚蜜| 成人无遮挡裸免费视频在线观看| 亚洲精品国产成人| 国产成人yy免费视频| 亚洲国产高清在线精品一区| av无码免费一区二区三区| 亚洲另类图片另类电影| 在线观看成人免费视频不卡| 亚洲色欲色欲www在线播放| 蜜桃精品免费久久久久影院| 亚洲av日韩综合一区二区三区| 日本成人在线免费观看| 美女视频黄.免费网址| 亚洲精品视频在线看| 你懂的网址免费国产| 亚洲色图在线播放| 成人免费视频77777| 亚洲欧美日本韩国| 免费一级一片一毛片| 亚洲免费日韩无码系列| 亚洲hairy多毛pics大全| 国产精品色午夜免费视频| 四虎影视在线看免费观看| 亚洲成人在线网站| 妞干网在线免费观看| 成人免费观看男女羞羞视频| 久久精品国产精品亚洲艾| 免费电影在线观看网站| 一级午夜免费视频| 亚洲色偷偷偷网站色偷一区| 日韩一区二区免费视频| 巨胸喷奶水www永久免费 | 中文字幕免费在线看线人| 亚洲丰满熟女一区二区哦| 久久精品国产精品亚洲下载| 亚洲免费黄色网址| 无忧传媒视频免费观看入口| 91情国产l精品国产亚洲区|