Java最简单的UDP收发数据的例子
来源:互联网 发布:网络奇葩歌词找歌 编辑:程序博客网 时间:2024/05/18 02:41
程序1、2具备收发数据的示例。
- 发送端需要设置IP地址和端口,而接收端只需要设置端口
- 程序1的发送端口与程序2的接收端端口一致,反之亦然
- 主要两个发送或接收时用的端口不能重复
程序1:
public class J { public static void main(String[] args) { send(); receiver(); } public static void send() { new Thread() { public void run() { DatagramSocket ds = null; try { // 定义一个UDP的Socket来发送数据 ds = new DatagramSocket(); String hello = "JJJJJJJJJJJJJJJJ"; /* * 定义一个UDP的数据发送包来发送数据,inetSocketAddress表示要接收的地址。 * * IP地址和端口都需要设置 */ InetSocketAddress address = new InetSocketAddress("127.0.0.1", 3000); DatagramPacket dp = new DatagramPacket(hello.getBytes(), hello.getBytes().length, address); while (true) { ds.send(dp); Thread.sleep(1000); } } catch (Exception e) { e.printStackTrace(); } finally { if (ds != null) { ds.close(); } } }; }.start(); } public static void receiver() { new Thread() { @Override public void run() { // UDP接收端 DatagramSocket ds = null; try { /* * 接收端只需要端口,注意与发送端保持一致 */ ds = new DatagramSocket(2000); // 定义将UDP的数据包接收到什么地方 byte[] buf = new byte[1024]; // 定义UDP的数据接收包 DatagramPacket dp = new DatagramPacket(buf, buf.length); while (true) { // 接收数据包 ds.receive(dp); String string = new String(dp.getData(), 0, dp.getLength()); System.out.println("Java UDP:" + dp.getLength() + "->" + string); } } catch (IOException e) { e.printStackTrace(); } finally { if (ds != null) { ds.close(); } } } }.start(); }}
程序2:
import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetSocketAddress;public class C { public static void main(String[] args) { send(); receiver(); } public static void send() { new Thread() { public void run() { DatagramSocket ds = null; InetSocketAddress address = null; try { /* * IP地址和端口,注意端口不要重复 */ address = new InetSocketAddress("127.0.0.1", 2000); // 定义一个UDP的Socket来发送数据 ds = new DatagramSocket(); String hello = "CCCCCCCCCCCCCCCCCCCCCCCCC"; // 定义一个UDP的数据发送包来发送数据,inetSocketAddress表示要接收的地址 DatagramPacket dp = new DatagramPacket(hello.getBytes(), hello.getBytes().length, address); while (true) { ds.send(dp); Thread.sleep(1000); } } catch (Exception e) { e.printStackTrace(); } finally { if (ds != null) { ds.close(); } } }; }.start(); } public static void receiver() { new Thread() { @Override public void run() { // UDP接收端 DatagramSocket ds = null; try { /* * 这里只需要设置端口,无需IP地址。其端口与发送端一致。 */ ds = new DatagramSocket(3000); // 定义将UDP的数据包接收到什么地方 byte[] buf = new byte[1024]; // 定义UDP的数据接收包 DatagramPacket dp = new DatagramPacket(buf, buf.length); while (true) { // 接收数据包 ds.receive(dp); String string = new String(dp.getData(), 0, dp.getLength()); System.out.println("Java UDP:" + dp.getLength() + "->" + string); } } catch (IOException e) { e.printStackTrace(); } finally { if (ds != null) { ds.close(); } } } }.start(); }}
阅读全文
0 0
- Java最简单的UDP收发数据的例子
- 知识点拾遗:UDP传输数据最简单的java实现
- 关于java Udp收发数据异常的笔记
- Java简单的UDP通讯例子
- [Java]UDP通信的简单例子
- java使用jdbc查询mysql数据最简单的例子
- 基于UDP的简单收发消息代码
- Java使用UDP协议收发数据简单实现
- java socket UDP协议收发数据简单实现通信示例
- 一个简单的以太网广播收发例子
- 一个简单的udp接收数据的例子
- linux UDP的简单例子
- udp socket的简单例子
- 最简单的 java Timer 计时器 例子
- 最简单的例子理解java回调
- 最简单的java死锁例子
- 一个简单的Java UDP协议通信的例子
- 最简单的UDP程序
- Keil连接生成bin文件时报错:--- Error: User Command terminated, Exit-Code = 1
- poll服务器编程综合
- 普通的APK安装更新
- ES6
- 不需要导入外部包,自行编写的json字符串转map工具类
- Java最简单的UDP收发数据的例子
- 学习JVM
- 实战
- Windows下使用dev-cpp连接mysql数据库
- 一大波Android技术干货
- opencv安装
- git 的一些命令
- TypeScript 学习笔记3: ECMAScript 2015 的新特性
- Ubuntu安装jdk