当前位置: 首页 > news >正文

网络编程(UPD和TCP)

//发送数据

//UDP协议发送数据
package com.example.mysocketnet.a02UDPdemo;import java.io.IOException;
import java.net.*;public class SendMessageDemo {public static void main(String[] args) throws IOException {//发送数据//1.创建DatagramSocket对象(快递公司)//细节://绑定端口,以后我们就是通过这个端口往外发送数据//空参:所有可用的端口中随机一个进行使用//有参:指定端口号进行绑定DatagramSocket datagramSocket = new DatagramSocket();//2.打包数据String str = "你好....";byte[] bytes =str.getBytes();InetAddress address = InetAddress.getByName("127.0.0.1");int port = 10086;DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length,address,port);//3.发送数据datagramSocket.send(datagramPacket);/**** UDP协议是面向无连接的   (我管你有没有建立 我直接发就行 不管你收不收的到)*///4.释放资源datagramSocket.close();}
}

接收数据

//接收数据
package com.example.mysocketnet.a02UDPdemo;import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;public class ReceiveMessageDemo {public static void main(String[] args) throws IOException {//接收收据//1.创建DatagramSocket对象(快递公司)//细节//在接收的时候,一定要绑定端口//而且绑定的端口,一定要和发送的端口保持一致DatagramSocket ds = new DatagramSocket(10086);//2.接收数据包byte[]  bytes = new byte[1024];DatagramPacket dp = new DatagramPacket(bytes,bytes.length);/*** 该方法是阻塞的* 程序执行到这一步的时候,会在这里死等* 等发送端发送消息*/ds.receive(dp);//3.解析数据包byte[] data = dp.getData();int length = dp.getLength();int port = dp.getPort();InetAddress address = dp.getAddress();System.out.println("接收到数据"+new String(data,0,length));System.out.println("该数据是从"+address+"这台电脑中的"+port+"发出的");//4.释放资源ds.close();}
}

运行结果:

http://www.lryc.cn/news/365340.html

相关文章:

  • cesium 之 flyTo、setView、lookat
  • 超速解读多模态InternVL-Chat1.5 ,如何做到开源SOTA——非官方首发核心技巧版(待修订)
  • Vue 组件_动态组件+keep-alive
  • 深入理解Redis:多种操作方式详解
  • stm32太阳能追光储能系统V2
  • Docker笔记-解决非交互式运行python时print不输出的问题
  • 06- 数组的基础知识详细讲解
  • CentOS6系统因目录有隐含i权限属性致下属文件无法删除的故障一例
  • 【视频转码】ZLMediaKit漏洞报告的问题
  • 100道大模型面试八股文
  • 【ARM Cache 及 MMU 系列文章 6.2 -- ARMv8/v9 Cache 内部数据读取方法详细介绍】
  • 使用Vue.js将form表单传递到后端
  • 6、架构-服务端缓存
  • 服务器遭遇UDP攻击时的应对与解决方案
  • 美团发布2024年一季度财报:营收733亿元,同比增长25%
  • sql注入-布尔盲注
  • docker-compose部署 kafka 3.7 集群(3台服务器)并启用账号密码认证
  • LeetCode-704. 二分查找【数组 二分查找】
  • Rust 性能分析
  • Gradle和Maven都是广泛使用的项目自动化构建工具
  • Seed-TTS语音编辑有多强?对比实测结果让你惊叹!
  • Vue3——实现word,pdf上传之后,预览功能(实测有效)
  • JVM之【类的生命周期】
  • 分库分表场景下,如何设计与实现一种高效的分布式ID生成策略
  • 机器人系统ros2-开发学习实践16-RViz 用户指南
  • 安全测试 之 安全漏洞 CSRF
  • 交易中的预测和跟随
  • vs2022专业版永久密钥
  • MongoDB环境搭建
  • 数据结构【队列】