一个简单的Java UDP协议通信的例子

来源:互联网 发布:淘宝开店一个月没生意 编辑:程序博客网 时间:2024/05/01 09:49

一个简单的Java UDP协议通信的例子

    博客分类: 
  • java
JavaIE.net 

一个简单的Java UDP协议通信的例子

server:

import java.net.*;public class UDPServer {private static final int PORT = 5000;private DatagramSocket dataSocket;private DatagramPacket dataPacket;private byte receiveByte[];private String receiveStr;public UDPServer() {Init();}public void Init() {try {dataSocket = new DatagramSocket(PORT);receiveByte = new byte[1024];dataPacket = new DatagramPacket(receiveByte, receiveByte.length);receiveStr = "";int i = 0;while (i == 0)// 无数据,则循环{dataSocket.receive(dataPacket);i = dataPacket.getLength();// 接收数据if (i > 0) {// 指定接收到数据的长度,可使接收数据正常显示,开始时很容易忽略这一点receiveStr = new String(receiveByte, 0, dataPacket.getLength());System.out.println(receiveStr);i = 0;// 循环接收}}} catch (Exception e) {e.printStackTrace();}}public static void main(String args[]) {new UDPServer();}}


client:

import java.io.*;import java.net.*;public class UDPClient {private static final int PORT = 4561;private DatagramSocket dataSocket;private DatagramPacket dataPacket;private byte sendDataByte[];private String sendStr;public UDPClient() {Init();}public void Init() {try {// 指定端口号,避免与其他应用程序发生冲突dataSocket = new DatagramSocket(PORT + 1);sendDataByte = new byte[1024];sendStr = "UDP方式发送数据";sendDataByte = sendStr.getBytes();dataPacket = new DatagramPacket(sendDataByte, sendDataByte.length,InetAddress.getByName("localhost"), PORT);dataSocket.send(dataPacket);} catch (SocketException se) {se.printStackTrace();} catch (IOException ie) {ie.printStackTrace();}}public static void main(String args[]) {new UDPClient();}}



原创粉丝点击