您的位置:首页 > 编程语言 > Java开发

java udp socket通信(仅发送)

2015-08-13 11:33 501 查看
实现功能:客户端发送一个字符串(可以为汉字),服务器端接收并显示

服务器端程序:

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: