java udp 简单实现
------
代码:
* 运行方法:
直接 运行 UdpTest.java 的 main 函数 即可,
* udp server
package eric.j2se.net.udp;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
/**
* udp server
*
* @author eric
* @date 2011-2-20 下午05:05:55
*/
public class UdpServer implements Runnable {
private int port;
public UdpServer(int port) {
this.port = port;
}
public void run() {
try {
// listening at port for udp request
DatagramSocket server = new DatagramSocket(new InetSocketAddress(port));
byte[] bs = new byte[4];
ByteBuffer bbuf = null;
DatagramPacket data = new DatagramPacket(bs, bs.length);
server.setSoTimeout(1000 * 10); // set timeout
while (true) { // 一直监听
server.receive(data);
bbuf = ByteBuffer.wrap(bs, 0, 4);
String s = "receive " + data.getData().length + " byte data,value: " + bbuf.getInt();
System.out.println(s);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new Thread(new UdpServer(11111)).start();
}
}
* udp client
package eric.j2se.net.udp;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
/**
* udp client
*
* @author eric
* @date 2011-2-20 下午05:15:05
*/
public class UdpClient implements Runnable {
private int port;
public UdpClient(int port) {
this.port = port;
}
public void run() {
try {
DatagramSocket client = new DatagramSocket();
byte[] bs = new byte[4];
InetSocketAddress isa = new InetSocketAddress("localhost", port);
DatagramPacket data = new DatagramPacket(bs, bs.length);
data.setSocketAddress(isa);
for (int i = 0; i < 10; i++) {
data.setData(int2bytes(i));
client.send(data);
}
} catch (Exception e) {
e.printStackTrace();
}
}
static byte[] int2bytes(int num) {
byte[] b = new byte[4];
for (int i = 0; i < 4; i++) {
b[i] = (byte) (num >>> (24 - i * 8));
}
return b;
}
}
* test
package eric.j2se.net.udp;
/**
* test udp
*
* @author eric
* @date 2011-2-20 下午05:43:06
*/
public class UdpTest {
public static void main(String[] args) throws InterruptedException {
int port = 11111;
new Thread(new UdpServer(port)).start();// start udp server,listen request
new Thread(new UdpClient(port)).start();// start udp client,send data
}
}
*
------
分享到:
相关推荐
java udp 简单实例 实现
这是利用java的udp通信,利用多线程保持通信持续的java聊天小程序
以前用Java做的UDP聊天,现在拿出来,你们在使用时需要改一下里面的IP地址及端口号,运行时要先运行服务器再运行客户端。
简单的UDP客户端与服务器端JAVA程序。由客户端发送一条字符串,经由服务器处理返回全大写的相应字符串
利用Java简单说实现了UDP协议传输数据,客户端向服务端传输数据,服务端向客户端返回一条数据!适合初学者参考,大神勿扰!
使用Java语言编写程序,设计UDP服务器。考虑到实时性,采用UDP协议。 1.设计一个简单的界面,使得程序能够流畅的完成视频文件的传输。
使用java实现简单聊天程序,UDP通信,多人聊天。
整个开发过程全部使用的最简单易懂的代码,本人学习java网络编程也就用了一两周吧,但有一些c语言套接字编程经验。建议初次学习java套接字的可以参考一下。压缩包中附带有答辩ppt,可以先看一下ppt就知道整个系统...
计算机网络课程设计——端口扫描器的实现 1.利用Socket通信机制实现一个多线程的端口扫描器。 2.设计要求: 2.1用户界面:用户可以输入IP地址或IP地址段;...2.3 采用Java网络编程包java.io中提供的编程接口实现。
java界面实现udp协议聊天的代码,学生学习用
2) 基于Java Socket TCP和UDP实现一个简易的网络文件服务程序,包含服务器端FileServer和客户端FileClient; 3) 服务器端启动时需传递root目录参数,并校验该目录是否有效; 4) 服务器启动后,开启TCP:2021端口,...
自己写一个字典程序: 语言:JAVA; 协议:UDP; 简单界面; 一个简单的report讲述流程 客户端用XML存储解释,用parser解析
从简单到复杂,首先简单介绍一下怎么利用UDP实现客服端发送消息给服务器端吧: 发送、接受消息过程大概如下: 服务器端:创建DatagramSocket对象用于打开指定端口并监听,然后用创建一个DatagramPacket,利用...
1、java socket 2、UDP传输协议 3、json数据格式 4、简易聊天室程序实现
2) 基于Java Socket TCP和UDP实现一个简易的网络文件服务程序,包含服务器端FileServer和客户端FileClient; 3) 服务器端启动时需传递root目录参数,并校验该目录是否有效; 。。。。。。附带简单的实验报告,只需...
完整版的,经过调试的一个java环境下的基于UDP协议的聊天程序,udp协议聊天程序、java开发、计算机网络课程设计
主要为大家详细介绍了Java基于UDP协议实现简单的聊天室程序的相关资料,感兴趣的小伙伴们可以参考一下
java网络编程实现udp数据发送与接收的简单实例.zip java网络编程实现udp数据发送与接收的简单实例.zip
该系统由A、B、C三部分组成, 其中A为公交车查询客户端程序; B为公交查询服务程序,负责响应来自A的查询并接收由公交车模拟程序发送过来的当前到站...先运行server.java,之后运行server1.java,最后运行Client.java
使用java Swing开发的基于UDP协议的简单聊天室,附带文件分享功能,文件分享是基于TCP协议实现的