java udp socket通信(仅发送)

实现功能:客户端发送一个字符串(可以为汉字),服务器端接收并显示

服务器端程序:

package udpServer;

import java.io.*;
import java.net.*;

/** 
 * 服务端 
 * 1、创建服务+端口 
 * 2、准备接受容器  byte数组 
 * 3、把接收容器封装成包 DatagramPacket 
 * 4、接受数据 
 * 5、分析数据 
 */  
public class server {  
      
    public static void main(String[] args) throws IOException {  
        //1.创建服务+端口  
        DatagramSocket server = new DatagramSocket(9999);  
        //2.准备接受容器  
        byte[] container = new byte[1024];  
        //3.封装成包   DatagramPacket(byte buf[], int length)  
        DatagramPacket packet = new DatagramPacket(container, container.length);  
        //4.接受数据   (阻塞式接受)  
        server.receive(packet);  
        //5.分析数据  
        byte[] data = packet.getData();  
        System.out.println(new String(data, "utf-8"));  
        //6.释放资源  
        server.close();  
    }  
}

客户端程序:

package udpClient;

import java.io.*;
import java.net.*;

/** 
 * 1、创建客户端+端口 
 * 2、准备数据 字节数组 
 * 3、给数据打包 并指定发送的目的地和端口 
 * 4、发送 
 * 5、释放 
 *  
 * 思考 : 发送有类型的数据  怎么处理 如对象  数字 等等 
 */  
public class client {  
    public static void main(String[] args) throws IOException {  
        //1.创建客户端+端口  
        DatagramSocket client = new DatagramSocket(8888);  
        //2.准备要发送的数据 字节数组  
        String msg = "UDP编程";  
        byte[] data = msg.getBytes("utf-8");  
        //3.给数据打包 并指定发送的目的地和端口  DatagramPacket(byte buf[], int length, InetAddress address, int port)  
        InetAddress address = InetAddress.getByName("127.0.0.1");  
        DatagramPacket packet = new DatagramPacket(data, data.length, address, 9999);  
        //4.发送  
        client.send(packet);  
        //5.释放  
        client.close();  
    }  

}

 

posted @ 2015-08-13 11:33  平常心,平常心  阅读(680)  评论(0编辑  收藏  举报