java UDP网路编程

大家都知道java中的socket网络编程,而其采用的协议分别有tcp和udp协议两种.

通常的理解tcp协议类似于打电话,udp类似于发短信.前者是线程安全的,但是效率比较低.后者则刚好相反.

今天就做个demo来了解一下udp网络编程.

首先是客户端:

package javasocket.demo;



import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.InetSocketAddress;



/**

 * 1.创建客户端

 * 2.准备数据

 * 3.打包数据

 * 4.发送数据

 * 5.关闭

 * @author Administrator

 *

 */

public class UdpSocketClientDemo {



    public static void main(String[] args) throws Exception {

        //客服端

        DatagramSocket client=new DatagramSocket(8000);

        String msg="UDP";

        byte[] data =msg.getBytes();

        DatagramPacket dp=new DatagramPacket(data, data.length,new InetSocketAddress("localhost",8888));

        client.send(dp);

        client.close();

    }

}

服务器:

package javasocket.demo;



import java.net.DatagramPacket;

import java.net.DatagramSocket;



/**

 * 服务端

 * 1.创建服务端和接口

 * 2.准备接受容器

 * 3.封装成包

 * 4.接受数据

 * 5.分析数据

 * 6.关闭

 * @author bgt

 *

 */

public class UdpSocketServerDemo {



    public static void main(String[] args) throws Exception {

        //服务端

        DatagramSocket server=new DatagramSocket(8888);

        byte[] container=new byte[1024];

        DatagramPacket dp=new DatagramPacket(container, container.length);

        server.receive(dp);

        byte[] data=dp.getData();

        int len=dp.getLength();

        System.out.println(new String(data,0,len));

        server.close();

    }

}

 

你可能感兴趣的:(java)