news 2026/4/23 10:11:05

Linux网络编程-udp

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux网络编程-udp

1.今天的内容包括:udp通信的编程方法、广播通信的方法

2.udp通信

udp和tcp通信方式

2.1socket创建

使用SOCK_DGRAM创建。

2.2发送和接收数据

使用sendto和recvfrom,因为没有建立连接所以每次都要有ip和port,就是使用struct sockaddr地址。

都是六个参数,分别是套接字、缓冲区、缓冲区大小、flag写0、地址、地址长度(sendto是sizeof、recvfrom是一个传出参数,是一个指针)。

2.3显示客户端ip和port的方法

把之前的第五个参数,ip使用inet_ntop来放在缓冲区,把ip地址,从二进制字节序变成字符串,然后port使用ntohs。

3.广播通信

这里和之前的相反是不需要给服务器绑定地址,这里服务器的目的是发送信息,然后需要给客户端绑定广播通信地址。

服务器的套接字使用setsockopt设置,第一个参数是套接字、第二个是SOL_SOCKET、第三个是SO_BROADCASE。

4.总结

udp通信比tcp总结,然后sendto和recvfrom有一点参数的差别,广播通信的特点就是客户端这次绑定地址。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 10:11:01

LLC谐振变换器恒压恒流双竞争闭环Simulink仿真探索

LLC谐振变换器恒压恒流双竞争闭环simulink仿真(附说明文档) 1.采用电压电流双环竞争控制(恒压恒流) 2.附双环竞争仿真文件(内含仿真介绍,波形分析,增益曲线计算.m代码) 仿真参数&…

作者头像 李华
网站建设 2026/4/17 13:35:54

【Java方法】--递归的正确使用方法,告别栈溢出

个人主页 目录前言💡1.什么是递归?1.1 递归的两个关键要素1.2 递归结构:2.经典的递归2.1 案例一:阶乘计算2.2 案例二:斐波那契数列2.3 目录遍历3.深入理解递归为什么会栈溢出3.1 什么是栈?Java 虚拟机栈结合…

作者头像 李华
网站建设 2026/4/22 20:50:34

视觉色选机:如何挑选技术可靠与服务完善的设备厂家

现今,于粮食加工行业里,视觉色选机成了保障产品品质的关键设备,它能提升附加值,还能实现自动化生产。它借助高分辨率相机捕捉物料图像,运用智能算法实时识别颜色,识别形状,识别内部缺陷&#xf…

作者头像 李华
网站建设 2026/4/17 12:45:01

Labview模拟温度检测报警系统 1、通过设定上下限温度,通过比较温度来到达指示灯的闪烁情况

Labview模拟温度检测报警系统 1、通过设定上下限温度,通过比较温度来到达指示灯的闪烁情况。 若超过了设定的温度上限,指示灯的闪烁会闪烁;若低于设定的温度下限,指示灯同样会闪烁。 2、设定上下限温度、模拟温度、最高温度、最低…

作者头像 李华
网站建设 2026/4/20 3:37:53

Ubuntu下Qt/C++程序终止全攻略

在Ubuntu系统中,结合Qt和C开发的应用程序可通过以下多种方式安全或强制终止,具体可分为系统级、Qt框架、C标准及线程管理四大类:系统级方法终端命令kill/pkill/killall:通过进程ID或名称发送信号(如SIGTERM正常终止&am…

作者头像 李华