Java网络编程---UDP

客户端

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;public class Client {public static void main(String[] args) throws Exception {//1.创建客户端对象DatagramSocket socket = new DatagramSocket();//2.创建数据包对象封装要发出去的数据/* public DatagramPacket(byte buf[], int offset, int length,InetAddress address, int port)*/Scanner sc = new Scanner(System.in);while (true){//将数据转成字节System.out.println("user:");String msg = sc.nextLine();if ("exit".equals(msg)){System.out.println("退出成功!");socket.close();break;}byte[] bytes =msg.getBytes();DatagramPacket packet = new DatagramPacket(bytes, bytes.length,InetAddress.getLocalHost(),6666);//3.发送socket.send(packet);}}
}

服务端

import java.nio.charset.StandardCharsets;import java.net.DatagramPacket;
import java.net.DatagramSocket;public class Server {public static void main(String[] args) throws Exception{System.out.println("----------服务端-----------");//1.创建一个服务端的对象DatagramSocket socket = new DatagramSocket(6666);//2.创建一个数据包对象  来接数据byte[] buffer = new byte[1024 * 64]; //64kbDatagramPacket packet = new DatagramPacket(buffer, buffer.length);while (true){//接收数据socket.receive(packet);//打印出来int len = packet.getLength();String  rs =  new String(buffer,0,len, StandardCharsets.UTF_8);System.out.println(rs);//接收的客户端的信息System.out.println(packet.getAddress());System.out.println(packet.getPort());System.out.println("-----------------------------------------");}}
}

效果

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

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

相关文章

<蓝桥杯软件赛>零基础备赛20周--第11周--贪心

报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周。 在QQ群上答疑&#x…

Tekton

一. 概念 Tekton 官网 Github Tekton 是一种用于构建 CI/CD 管道的云原生解决方案,它由提供构建块的 Tekton Pipelines,Tekton 作为 Kubernetes 集群上的扩展安装和运行,包含一组 Kubernetes 自定义资源,这些资源定义了您可以为…

【RocketMQ每日一问】rocketmq事务消息原理?

rocketmq事务消息原理? RocketMQ的事务消息主要由三部分组成:半消息(Half Message)、执行本地事务和事务补偿机制。下面详细介绍这三部分: 半消息(Half Message)用户向RocketMQ发送半消息&…

java-sec-code中rmi

java-sec-code中rmi 暂时没有搞懂原理,这里只说明利用方法 java-sec-code 作者给出的是使用ysoserial进行利用 测试环境搭建 docker环境下,1099端口默认不开启,这里使用idea运行org.joychou.RMI.Server即可 个人电脑java环境分为1.8.381 1.8.…

SpringBoot+JaywayJsonPath实现Json数据的DSL(按照指定节点表达式解析json获取指定数据)

场景 若依前后端分离版手把手教你本地搭建环境并运行项目: 若依前后端分离版手把手教你本地搭建环境并运行项目_前后端分离项目本地运行-CSDN博客 在上面搭建SpringBoot项目的基础上,并且在项目中引入fastjson、hutool等所需依赖后。 Jayway JsonPat…

SaaS智慧班牌源码,智慧校园云平台,vue +element-ui+原生小程序开发

SaaS智慧校园云平台源码,智慧班牌系统,家校互通原生小程序源码 集智慧教学、智慧教务、智慧校务、智慧办公于一体的校园管理平台源码。集成智能硬件及第三方服务,面向学校、教师、家长、学生,将校内外管理、教学等信息资源进行整合…

Unreal5.3 PCG 笔记

目录 ElectricDreams场景功能移动中间山体向周围随机生成倒下的树干树干上随机生成的植被 ElectricDreams场景功能 移动中间山体向周围随机生成倒下的树干 配置内容 中心山体Spline周围沟渠Spline(土堆)PCG规则 主要功能节点 SplineSample(…

【MATLAB】史上最全的13种数据拟合算法全家桶

有意向获取代码,请转文末观看代码获取方式~ 1 【MATLAB】傅里叶级数拟合算法 傅里叶级数拟合算法是一种强大而灵活的数学方法,可以将复杂的函数拆解成多个简单的正弦和余弦函数的和。通过求解函数中的系数,我们可以用有限项傅里叶级数来拟合…

安卓手机如何打开ics文件?ics格式文件用什么软件打开?

什么是ics格式文件?Ics格式文件是什么呢?其实ics格式文件是一种用于保存和交换日历信息的标准格式,它通常可以保存事件的名称、时间等信息,有不少日历、待办软件在导出数据的时候,都是以ics文件导出的。 有不少网友目…

【数据结构】什么是树?

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 📌树的定义 📌树的相关概念 📌线性结构与树结构的对比 📌树的抽象数据类型 📌树的存储结构 &#x1f38…

使用宝塔面板部署前端项目到服务器

目录 文章目录 前言 一、第一步:创建文件夹 二、第二步:部署前端项目 三、第三步:打开防火墙 文章目录 前言第一步:创建文件夹第二步:部署前端项目第三步:打开防火墙总结 前言 在此之前,我…

opencv入门到精通——图像上的算术运算

目录 目标 图像加法 图像融合 按位运算 目标 学习图像的几种算术运算,例如加法,减法,按位运算等。 您将学习以下功能:cv.add,cv.addWeighted等。 图像加法 您可以通过OpenCV函数cv.add()或仅通过numpy操作res …