UDPベースプログラミング

4181 ワード

UDPプロトコル:TCPとは異なり、UDPは非接続向けであり、効率が高く、サーバの応答を待つ必要はありません.現実のメールやメールのようなもので、送信側は情報を送信するだけで、情報が失われているかどうかに注目する必要はありません.
    :

> package com.geminno.text15.udp;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

public class MyServer {
    public static void main(String[] args) {
        //          
        DatagramSocket ds=null;
        DatagramPacket dgs=null;
        try {
            ds=new DatagramSocket(8855);
            //           
            byte [] bytes=new byte[1024];
            //    datagrampacket  ,      
             dgs=new DatagramPacket(bytes,bytes.length);
            //        
            ds.receive(dgs);
            //    
            byte[] data=dgs.getData();
            System.out.println(new String(data,0,data.length));

        } catch ( IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            ds.close();
        }
    }   
}

   :
>package com.geminno.text15.udp;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;


public class MyClient {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
            DatagramSocket client=null;
            //       
            try {
                client=new DatagramSocket(9999);
                //    
                String s="     ";
                byte[] data=s.getBytes();
                //     
                DatagramPacket dgs=new DatagramPacket(data,data.length ,new InetSocketAddress("127.0.0.1", 8855) );
            //    
                client.send(dgs);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                client.close();
            }
    }
}