[Java网络编程基础]UDP发送和接收数据

在这里插入图片描述

代码如下:

package InetAddressPack;import java.io.IOException;
import java.net.*;
import java.nio.charset.StandardCharsets;public class SendDemo {public static void main(String[] args) throws IOException {DatagramSocket ds = new DatagramSocket();byte[] bys = "hellp,udp,我来了".getBytes();int len = bys.length;InetAddress address = InetAddress.getByName("192.168.1.123");int port = 10086;DatagramPacket dp = new DatagramPacket(bys,len,address,port);ds.send(dp);ds.close();}
}
package InetAddressPack;import java.io.IOException;
import java.net.*;
import java.nio.charset.StandardCharsets;public class SendDemo {public static void main(String[] args) throws IOException {DatagramSocket ds = new DatagramSocket();byte[] bys = "hellp,udp,我来了".getBytes();
//        int len = bys.length;
//        InetAddress address = InetAddress.getByName("192.168.1.123");
//        int port = 10086;DatagramPacket dp = new DatagramPacket(bys, bys.length,InetAddress.getByName("192.168.1.123"),10086);ds.send(dp);ds.close();}}

在这里插入图片描述

代码如下:

package InetAddressPack;import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;public class ReceiveDemo {public static void main(String[] args) throws IOException {DatagramSocket ds = new DatagramSocket(10086);byte[] bys = new byte[1024];DatagramPacket dp = new DatagramPacket(bys,bys.length);ds.receive(dp);byte[] datas = dp.getData();int len = dp.getLength();String dataString = new String(datas,0,len);System.out.println("数据是"+dataString);ds.close();}}
package InetAddressPack;import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;public class ReceiveDemo {public static void main(String[] args) throws IOException {DatagramSocket ds = new DatagramSocket(10086);byte[] bys = new byte[1024];DatagramPacket dp = new DatagramPacket(bys,bys.length);ds.receive(dp);byte[] datas = dp.getData();int len = dp.getLength();
//        String dataString = new String(datas,0,len);
//        System.out.println("数据是"+dataString);System.out.println("数据是: "+new String(dp.getData(),0,dp.getLength()));ds.close();}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/310205.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从Copyright到Copyleft,聊聊版权与开源协议

4月26日是世界知识产权日,很多人或许会觉得这和软件开发没什么关系,但事实上,开源软件大多受到知识产权法中著作权法(Copyright,也称版权)的保护。开源软件虽说开放了源代码,但是用户在使用、修…

[Java网络编程基础]TCP发送和接收数据

代码如下: package ClientPack;import java.io.IOException; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException;public class ClientDemo {public static void main(String[] args) throws IOExcept…

手机端适应_不轻易透露的超强技巧!详解iVX中怎样做设备自适应

"自适应网页设计"的概念2010年,Ethan Marcotte提出了"自适应网页设计"(Responsive Web Design)这个名词,指可以自动识别屏幕宽度、并做出相应调整的网页设计,自适应是为了解决如何才能在不同大小的…

五分钟了解dotnetcore配置框架

一、前言配置的本质就是字符串的键值对,微软的一系列接口其实就是对这些键值对字符串的抽象。二、基本类型2.1、Nuget包Microsoft.Extensions.Configuration.AbstractionsMicrosoft.Extensions.Configuration2.2、抽象接口IConfiguration提供了查询、设置配置项、监…

彩光和灰光模块_5G承载网主要光模块图谱

(一)5G承载光模块总览在光通信中,业务信息的传送与接收都是靠光模块来实现的。在发送端,光模块完成电/光转换,光在光纤中传输,然后在接收端实现光/电转换。可以说,没有光模块就没有光通信。在我…

Mobius 一个运行在 .NET Core 上的 .NET 运行时

导语一个 .NET 应用仅仅只是一块在 .NET 运行时上面运行的二进制代码。而 .NET 运行时只是一个能执行这项任务的程序。当前的 .NET Framework 和 .NET Core 运行时采用 C 编写,而 Mobius 是一个使用 C# 重写的 .NET 运行时,重写包括 JIT 编译和 GC 等&am…

Autofac的切面编程实现

面向切面编程:Autofac.Annotation扩展组件是我开源的一款利用打标签完成autofac容器的注入组件。https://github.com/yuzd/Autofac.Annotation我们之前介绍了利用Aspect标签来完成拦截器功能Aspect是一对一的方式,我想要某个class开启拦截器功能我需要针…

[Java基础]体验Lambda表达式

普通写法: 代码如下: package LambdaPack01;public class MyRunnable implements Runnable{Overridepublic void run() {System.out.println("多线程启动了");} }package LambdaPack01;public class LambdaDemo01 {public static void main(String[] args) {MyRunna…

linux启动mqtt_linux下安装MQTT服务器 - EMQTT

1. 下载从官网下载https://www.emqx.io/downloads#broker, 本文所用版本为broker/v3.2.1/emqx-centos7-v3.2.1.ziplinux下 下载:wget https://www.emqx.io/downloads/broker/v3.2.1/emqx-centos7-v3.2.1.zip解压;unzip emqx-centos7-v3.2.1.zip所在目录&…

.net core 基于Dapper 的分库分表开源框架(core-data)

一、前言感觉很久没写文章了,最近也比较忙,写的相对比较少,抽空分享基于Dapper 的分库分表开源框架core-data的强大功能,更好的提高开发过程中的效率;在数据库的数据日积月累的积累下,业务数据库中的单表数…

[Java基础]Lambda表达式练习

代码如下: package LambdaPracticePack;public interface Eatable {void eat(); }package LambdaPracticePack;public class EatableImpl implements Eatable{Overridepublic void eat() {System.out.println("一天一苹果,医生远离我");} }package Lambd…

​你可能不知道的7个HTML小技巧

五一期间&#xff0c;知道大家都比较懒&#xff0c;我也是。所以写篇简单且基础的技术小文&#xff0c;不需要动脑子&#xff0c;扫一眼就能掌握的那种。DETAILS 标签<details> 标签将额外的详情信息隐藏起来&#xff0c;用户在需要的时候点击即可展开查看详情。<deta…

青年节寄语和新课程免费上架

大家好&#xff0c;确实好久没有写东西了&#xff0c;希望这篇推送不是用来提醒你取消关注哈。2020年这突如其来的疫情&#xff0c;打乱了我们的生活&#xff0c;也让很多人更加明白了生活的无常以及可贵吧&#xff0c;在此也真诚希望大家都要好好哒&#xff0c;不负韶华&#…

从堆里找回“丢失”的代码相关命令简介

前言 在上一篇文章中&#xff0c;我们主要使用了三个命令 !address&#xff0c;s&#xff0c;.writemem 把丢失的代码成功的保存到了文件中。本文简单介绍一下上文用到的这三个命令。windbg 中的地址范围语法 很多命令都会用到 地址范围。比如 s 命令&#xff0c;.writemem 命令…

慎用ToLower和ToUpper,小心把你的系统给拖垮了

不知道何时开始&#xff0c;很多程序员喜欢用ToLower&#xff0c;ToUpper去实现忽略大小写模式的字符串相等性比较&#xff0c;有可能这个习惯是从别的语言引进的&#xff0c;大胆猜测下是JS&#xff0c;为了不引起争论&#xff0c;我指的JS是技师的意思~一&#xff1a;背景1. …

mysql 2008 日_SQL2008 的 日期数据类型

摘要你是否曾经想在数据库中存储一个日期而没有时间部分&#xff0c;或者想存储一个时间值希望有更高的精度&#xff1f;在SQL Server 2008的介绍中&#xff0c;微软介绍了一些新的日期数据类允许你只存储一个日期、更高精度的时间值等。这些新的数据类型为你存储日期和时间相关…