首页 > 代码库 > java UDP网路编程

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 =http://www.mamicode.com/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=http://www.mamicode.com/dp.getData();        int len=dp.getLength();        System.out.println(new String(data,0,len));        server.close();    }}