java利用udp实现发送数据
作者:佑佑有话说 发布时间:2023-03-21 18:30:49
标签:java,udp,发送数据
本文实例为大家分享了java利用udp实现发送数据的具体代码,供大家参考,具体内容如下
1.udp的特点
数据以包的形式发送数据
udp是面向无连接的
udp会丢失数据,是一种不安全的连接
udp的传输速度较快
2.发送端
package cn.uu710.SocketTest;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
public class Send1 {
public static void main(String[] args) {
try {
DatagramSocket datagramSocket = new DatagramSocket();
String data = "这是张佑发送的消息!";
DatagramPacket datagramPacket = new DatagramPacket(data.getBytes(),data.getBytes().length,InetAddress.getLocalHost(),8088);
//发送
System.out.println("正在准备发送……");
datagramSocket.send(datagramPacket);
System.out.println("已发送……");
datagramSocket.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
3.接收端
package cn.uu710.SocketTest;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import com.sun.org.apache.bcel.internal.generic.NEW;
public class receive1 {
public static void main(String[] args) {
try {
DatagramSocket datagramSocket = new DatagramSocket(8088);
byte[] b = new byte[1024];
DatagramPacket datagramPacket = new DatagramPacket(b,b.length);
System.out.println("正在准备接收……");
//未接收之前为阻塞状态
datagramSocket.receive(datagramPacket);
System.out.println("接收内容:"+new String(b,0,b.length));
System.out.println("已经接收……");
datagramSocket.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
4. 运行程序
先启动接收端,再运行发送端
启动接收端后,程序并未停止,因为还未接收到消息
再启动发送端,此时接收端成功接收到消息,之后程序停止
来源:https://blog.csdn.net/YOUYOU0710/article/details/106319753


猜你喜欢
- 本文实例讲述了C#记录消息到日志文件的方法。分享给大家供大家参考。具体实现方法如下:public void LogMessageToFile
- IDEA maven没有dependenciesIDEA导入新项目没有dependencies跟plugins如图:解决办法网上方法很多,重
- //十进制转二进制 Console.WriteLine(Convert.ToString(69, 2)); //十进制转八进制 Consol
- 前言无意中翻到几年前写过的一个RatingBar,可以拖拽,支持自定义星星图片,间距大小等参数。自定义参数为了方便扩展,支持更多的样式,这里
- 现在我们常见的一些关于Linux的系统很多,但是使用的更多的一般都是CentOS和Ubuntu,今天我就来记录一下关于centos下java
- 后台Java代码【验证码生成】/** * 随机生成6位随机验证码 */ public static String createRandomV
- 获取当前键盘按键,代码如下:using UnityEngine;using System.Collections;public class
- 使用List.contains(Object object)方法判断ArrayList是否包含一个元素对象(针对于对象的属性值相同,但对象地
- 机器学习 机器学习的目的是把数据转换成信息。 机器学习通过从数据里提取规则或模式来把数据转成信息。 人脸识别 人脸识别通过级联分类器对特征的
- 注解定义: 注解是一种注释机制,它可以注释包、类、方法、变量、参数,在编译器生成类文件时,标注可以被嵌入到字节码中。注解的分类:内置注解Ov
- C#文件的读和写提供了非常多的方法基本一两行就可以搞定“读和写”,在编程里还是比较重要的什么是读?你的程序去读你磁盘里的文件上面是写?你的程
- 简介 相信很多人都接触spring框架很长时间了,每次搭建spring框架的时候都需要配置好多的jar、xml,做很多繁琐重复的配置,稍微不
- 一 概述CMDD:\Project\Computer-Science-And-Technology\writeExam\farben\src
- 本人小菜一个。目前只见过两种弹出框的实现方式,第一种是最常见的PopupWindow,第二种也就是Activity的方式是前几天才见识过。感
- 前言:本文主要介绍内容有:一个串行调用的例子(App首页信息查询)CompletionService实现并行调用抽取通用的并行调用方法代码思
- 合成聚合复用原则合成复用原则又称为组合/聚合复用原则(Composition/Aggregate Reuse Principle, CARP
- 无聊逛论坛,发现了这张图真是厉害啊,这排序, 既有多线程,又有排序,还有lambda表达式,但是这是C#版本,作为一个入坑的Java爱好者,
- java生成json时产生栈溢出错误环境java + hibernate +html本来,java中使用json事件很正常的事,但小心有的地
- 包的作用,1是为了防止类和方法的重名,2是为了管理众多的java类。步骤 1 工具包里面有很多个工具类之前讲了打印数据的方法:S
- 本文实例讲述了C#显示文件夹下所有图片文件的方法。分享给大家供大家参考。具体实现方法如下:<%@ Page Language=&quo