UDP网络通信的收,发包
UDP网络通信的发包过程
1、使用DatagramSocket()创建一个数据包套接字。
2、使用DatagramPacket(byte[]buf, int offset, int length, InetAddress address, int port)创建要发送的数据包。
3、使用DatagramSocket类的send()方法数据包
UDP网络通信的收包过程
1、使用DatagramSocket(int)创建一个数据包套接字,绑定到指定的端口。
2、使用DatagramPacket(byte[]buf,int length)创建字节数组来接收数据包.
3、使用DatagramSocket类的receive()方法接收UDP
获取的数据实际上就存储在创建空包的数组种,转换显示时建议设置长度
System.out.println(dp.getLength()); //数据的具体长度
String str=new String(buffer,0,dp.getLength());
一般来说UDP协议的最大数据包的长度64k
public class Rec {public static void main(String[] args) throws Exception {DatagramSocket ds = new DatagramSocket(9999);byte[] buffer = new byte[8192];DatagramPacket dp=new DatagramPacket(buffer, buffer.length);ds.receive(dp);
// byte[] data=dp.getData();
// System.out.println(data.length);System.out.println(dp.getLength()); //数据的具体长度String str=new String(buffer,0,dp.getLength());System.out.println(str);ds.close();PrintWriter pw=new PrintWriter(new FileWriter("d:/bbb.txt"));pw.println(str);pw.close();}
}
public class Send {public static void main(String[] args) throws Exception {DatagramSocket ds = new DatagramSocket();String msg = "现在几点了?";byte[] data = msg.getBytes();DatagramPacket dp = new DatagramPacket(data, data.length, InetAddress.getByName("localhost"), 9999);ds.send(dp);ds.close();}
}
UDP网络通信的收,发包相关推荐
- OVS 非VXLAN的收发包调用栈(二十二)
非VXLAN的收发包调用栈 netdev_frame_hook()netdev_port_receive()ovs_vport_receive()ovs_dp_process_packet()(在查表 ...
- Linux 网络层收发包流程及 Netfilter 框架浅析
本文作者:sivenzhang,腾讯 IEG 测试开发工程师 1. 前言 本文主要对 Linux 系统内核协议栈中网络层接收,发送以及转发数据包的流程进行简要介绍,同时对 Netfilter 数据包过 ...
- 深入理解 Cilium 的 eBPF(XDP)收发包路径:数据包在Linux网络协议栈中的路径
Table of Contents 1 为什么要关注 eBPF? 1.1 网络成为瓶颈 1.2 eBPF 无处不在 1.3 性能就是金钱 2 eBPF 是什么? 3 为什么 eBPF 如此强大? 3. ...
- QualNet收发包过程分析(一)
因项目需要,对QualNet仿真中节点间收发包行为进行了仔细研究,并不断添加一些输出以验证思路.应该说,大致是正确的,可能有些细节研究还不够透彻.对一般的应用协议开发已经够用了,如果想制作一个完整的组 ...
- Linux网络层收发包流程及Netfilter框架浅析
1. 前言 本文主要对 Linux 系统内核协议栈中网络层接收,发送以及转发数据包的流程进行简要介绍,同时对 Netfilter 数据包过滤框架的基本原理以及使用方式进行简单阐述. 内容如有理解错误而 ...
- linux内核网络协议栈--数据包的网卡驱动收发包过程(二十五)
网卡 网卡工作在物理层和数据链路层,主要由PHY/MAC芯片.Tx/Rx FIFO.DMA等组成,其中网线通过变压器接PHY芯片.PHY芯片通过MII接MAC芯片.MAC芯片接PCI总线 PHY芯片主 ...
- python 爬虫 ~ 查看收发包的情况
DebugLog 可以用来查看收发包的情况,比较有意思,现特意记录下来: Sample: import urllib2 httpHandler = urllib2.HTTPHandler(debugl ...
- C语言实现UDP网络通信(附服务端和客服端完整源码)
C语言实现UDP网络通信 服务端源码 客户端源码 服务端源码 #ifdef _WIN32 #define _WINSOCK_DEPRECATED_NO_WARNINGS #define close c ...
- 网卡驱动收发包过程图解
网卡 网卡工作在物理层和数据链路层,主要由PHY/MAC芯片.Tx/Rx FIFO.DMA等组成,其中网线通过变压器接PHY芯片.PHY芯片通过MII接MAC芯片.MAC芯片接PCI总线 PHY芯片主 ...
最新文章
- ICML2020 | G2Gs:不依赖模板的的逆合成预测新框架
- 32个程序员萌翻全场的瞬间!
- python创建csv文件并写入-Python 读写 CSV
- 20172313 2017-2018-2 《程序设计与数据结构》第十周学习总结
- centos7如何精简容量_只需3步!教你打造精简win10,去除系统自带程序,运行更快...
- 马云启动“NASA”计划 为未来20年愿景研发核心科技
- Android ListView滑动后背景变黑
- 深度学习之卷积神经网络(Convolutional Neural Networks, CNN)
- frame越过另一个frame_一个价值2万美元的Facebook DOM XSS漏洞
- Django_3_路由
- 真正的技术大牛,可能根本不写代码
- 中国工业行业分类英文翻译
- 【深入理解计算机系统】CSAPP-实验四:ArchLab全网最详细
- 【Threejs效果:挖空几何体】ThreeBSP实现墙体挖洞
- 4399PK3366 拭目以待
- Debian本地源的创建及应用
- 2021-2027全球与中国翠绿宝石激光器市场现状及未来发展趋势
- 直播预告 | 小姐姐来了·冠军分享暨百度人工智能开源大赛培训
- RxSwift 的简单使用
- 渐变折射率(GRIN)多模光纤的建模
热门文章
- Java开发最佳实践手册全网独一份,狂神说docker进阶笔记
- leetcode827. 最大人工岛 - 垃圾代码,毫无优化
- 国开c语言程序设计形成性考核册,金工实习(铸造分).doc
- 一、Marlin中存储到EEPROM的设置及相关参数介绍
- VM虚拟机安装并使用window10
- 不懂算法,进大厂,真香!
- 关于代码重构的一些笔记
- Java程序包org.junit不存在问题
- java计算机毕业设计社区老人健康服务跟踪系统源码+系统+数据库+lw文档+mybatis+运行部署
- 怎样上幼儿园电脑计算机课,幼儿园电脑课堂常规要求教案