一个简单的Java UDP协议通信的例子
2015-02-09 09:41
543 查看
一个简单的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();
}
}
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();
}
}
相关文章推荐
- 一个简单的Java UDP协议通信的例子
- java使用UDP来进行客户端和服务器端通信的简单例子
- [Java]UDP通信的简单例子
- Google PB协议学习记录--一个简单的例子--如何编译.proto文件为.java文件
- java使用UDP来进行客户端和服务器端通信的简单例子
- 基于Tcp&UDP协议的简单Socket通信实例(JAVA)
- Samba 服务使用的端口和协议(是一组TCP UDP协议的组合,主要使用CIFS协议,有一个Java例子)
- 一个简单的JAVA网络通信 UDP 单工方式
- JAVA基础知识之网络编程——-基于UDP协议的通信例子
- 一个简单java序列化的例子
- 用java写的一个利用socket通信的C/S小例子
- 今天的问题:一个简单的例子,请帮我解开“接口实现Java‘隐藏实现细目’”的迷惑。
- 一个简单的Java信号量例子
- 一个简单的自定义通信协议(socket)
- java中类集的应用,简单的一个图书超市的例子
- 【socket编程】一个简单的基于UDP的客户/服务端例子(vs2008)
- 一个简单的UDP广播例子(含C/S)
- 一个最简单的Socket通信例子
- linux两个程序通过共享内存通信的一个简单例子
- 动态调用一个类的简单例子(java反射)