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有一点参数的差别,广播通信的特点就是客户端这次绑定地址。

相关推荐
ltl5 小时前
存储性能建模:IOPS、吞吐与延迟
linux
刘某的Cloud7 小时前
ceph osd 导入导出 rbd volume 卷
linux·运维·ceph·volume
記億揺晃着的那天7 小时前
NAS 内网域名访问为什么需要浏览器授权
网络·nginx·js·nas
chunmiao30327 小时前
DeepSeek V4-Pro 正式版上线,API 8月17日起分时调价
网络·安全
酸菜。9 小时前
dw_axi_dmac总结
linux
神奇霸王龙9 小时前
Agent 准入门控屠夫:5 旗舰 4 维度评估
linux·运维·数据库·ai·ai作画·agent·ai编程
迪康Defender10 小时前
AI 重构终端安全运营:智能分析中枢 AI Insight 模块架构与落地场景深度解析
运维·网络·人工智能·其他·安全·重构·架构
0x5310 小时前
Java网络编程(二)
java·服务器·网络
小绫网络安全12 小时前
Kali Linux渗透测试入门教程:从零搭建到实战攻防
linux·运维·服务器
allforgood12 小时前
控制启动过程
linux·运维·服务器