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();
    }
}

 

posted @ 2014-06-13 09:50  石奈子0314  阅读(424)  评论(0编辑  收藏  举报