java-UDP协议接收和发送数据
UDP发送数据的步骤:
A:创建发送端的Socket服务对象
B:创建数据,并把数据打包
C:通过Socket对象的发送功能发送数据包
D:释放资源
public class SendDemo {
public static void main(String[] args) throws IOException {
//创建发送端的Socket服务对象
//public DatagramSocket()
DatagramSocket ds = new DatagramSocket();
//创建数据,并把数据打包
//public DatagramPacket(byte[] buf,int Length,InetAddress address,int port)
//buf其实就是要发送的数据信息
//length表示要发送的数据长度
//address数据要发到哪里去,对应的哪个IP地址对象
//port端口号
//byte[] bys = "***".getBytes();
//int length = bys.length;
//InetAddress address = InetAddress.getByName("***.***.**.***");
//int port = 10086;
//DatagramPacket p = new DatagramPacket(bys,length,address,port);
//封装键盘录入
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = null;
while((line = br.readLine())!= null) {
byte[] bys = line.getBytes();
DatagramPacket dp = new DatagramPacket(bys, bys.length, InetAddress.getByName("000.000.00.000"), 10010);
//通过Socket对象的发送功能发送数据包
//public void send(DatagramPacket p)
ds.send(dp);
}
//释放资源
ds.close();
}
}
UDP接收数据的步骤:
A:创建接收端的Socket服务对象
B:创建一个数据包,用于接收数据
C:接收数据
D:解析数据,并显示在控制台
E:释放资源
public class ReceiveDemo {
public static void main(String[] args) throws IOException {
//创建接收端的Socket服务对象,并且指定端口号
DatagramSocket ds = new DatagramSocket(10010);
while(true){
//创建一个数据包,用于接收数据
byte[] bys = new byte[1024];
DatagramPacket dp = new DatagramPacket(bys, bys.length);
//接收数据
ds.receive(dp);
//解析数据
//获取ip地址
String ip = dp.getAddress().getHostAddress();
//获取数据
String data = new String(dp.getData(),0,dp.getLength());
System.out.println("from " + ip + " data is " + data);
}
//释放资源(服务器一般永远是开着的)
//ds.close();
}
}
java-UDP协议接收和发送数据的更多相关文章
- UDP协议实现客户服务器数据交互
UDP协议实现客户服务器数据交互 按照往常一样将今天自己写的题目答案写在了博客上习题:客户端循环发送消息给服务端,服务端循环接收,并打印出来,直到收到Bye就退出程序. package network ...
- 基于PLC1850平台的UDP报文接收与发送
一.UDP报文格式 源端口(2个字节):发送报文的进程的16位端口号. 目的端口(2个字节):目的设备上的接收进程的16位端口号. 长度(2个字节):整个UDP数据报的长度,包括首都和数据字段. 校验 ...
- C#UDP(接收和发送源码)源码完整
C#UDP(接收和发送源码)源码完整 最近做了一个UDP的服务接收和发送的东西.希望能对初学的朋友一点帮助. 源码如下: 一.逻辑--UdpServer.cs using System;using S ...
- UDP信息接收与发送
转载:http://www.cnblogs.com/sunev/archive/2012/08/08/2627247.html 一.摘要 总结基于C#的UDP协议的同步通信. 二.实验平台 Visua ...
- 局域网内通过UDP协议进行传输接受数据——AsyncUdpSocket
在相同的局域网内,可以通过Udp协议进行数据的传输和接收,Udp协议与Http协议不同,Udp更加方便快捷,省去了很多步骤,但是也有很多传输问题,在局域网内小范围传输数据时Udp还是非常能够胜任的. ...
- java udp协议DatagramSocket类使用
package com.temp; import org.junit.Test; import java.io.*; import java.net.DatagramPacket; import ja ...
- Android为TV端助力:UDP协议(接收组播和单播)
private static String MulticastHost="224.9.9.98";private static int POST=19999;private sta ...
- 终端参数上报后,平台通过tcp协议接收到相应数据并处理。
终端将终端参数以json格式的数据发送至平台.终端上电后上报,可以不认证直接上报. 实现流程如下. 1.设置终端参数上报的协议类型,例如:0x0000. public static final int ...
- java,UDP协议简单实现
//UDP协议简单实现-----Serverpackage UDP; import java.net.DatagramPacket; import java.net.DatagramSocket; i ...
随机推荐
- 简单介绍session,cookie,token以及区别
Cookie简介 ①.是由服务器发给客户端的特殊信息,以文本的形式存放在客户端 ②.客户端再次请求的时候,会把Cookie回发给服务器 ③.服务器接收到后,会解析Cookie生成与客户端相对应的内容 ...
- Python:安装opencv出现错误Could not find a version that satisfies the requirement numpy==1.13.3 (from versions: 1.14.5, 1.14.6, 1.15.0rc2, 1.15.0, 1.15.1, 1.15.2, 1.15.3, 1.15.4, 1.16.0rc1, 1.16.0rc2,
安装opencv的时候,出现numpy的版本不匹配,卸载了不匹配的版本,重新安装却是一点用都没有,后面尝试了一下这里的提示pip更新,居然安装成功了,看来pip的版本过低真是误事啊. 报错是: Cou ...
- Dapr + .NET Core实战(十一)单机Dapr集群负载均衡
如何单机部署Dapr集群 第十篇讲过了K8S集群下如何使用Dapr运行程序,但是很多人一直在问如何单机下进行Dapr的负载,这节课我们来聊聊如何单机进行Dapr的负载. 首先要说的是单机下,通过 da ...
- 统计学习:线性支持向量机(SVM)
学习策略 软间隔最大化 上一章我们所定义的"线性可分支持向量机"要求训练数据是线性可分的.然而在实际中,训练数据往往包括异常值(outlier),故而常是线性不可分的.这就要求我们 ...
- 单体应用 适合采用 dapr 构建吗?
缘起今天在微信群里有同学问 "纯.net 项目,有必要上dapr吗?" 当时不假思索的说不是微服务没必要,其他群友也说没必要.下午细想了一下,觉得这个和微服务没有关系,如果我的应用 ...
- hdu3001(三进制状压)
题目大意: 现在给你一个有n个点和m条边的图,每一条边都有一个费用,每个点不能经过超过两次,求所有点至少遍历一次的最小费用 其中n<=10 m没有明确限制(肯定不会超过1e5) 一看到这个数据范 ...
- 双系统升win11(grub启动问题修复与讲解)?!?
起 最近win11不是出来了吗.(着急修复的可以直接跳到最后一步) 于是我就突发奇想给我半年没进去的windows升个级........ 于是我找到了我win11的升级包(从我一个同学哪儿) 工具都集 ...
- 3.4 Common Principles 通用原则
3.4 Common Principles 通用原则 Before going into details, let's see some overall DDD principles; 在讨论细节之前 ...
- 3.2 Dependencies of the Projects in the Solution 解决方案中项目间的依赖项
3.2 Dependencies of the Projects in the Solution 解决方案中项目间的依赖项 The diagram below shows the essential ...
- 在Excel中,不利用任何第三方工具,生成二维码
有同事提需求,要批量生成二维码.谈了之后,我觉得可以做个excel文件,把要打印的内容放进去,然后给每行数据生成一个二维码.下一步就要在Excel里面生成二维码.问了一下度娘,貌似都得利用一些第三方工 ...