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

相关推荐
qianshang23314 小时前
SQL注入学习总结
网络·数据库·渗透
JiMoKuangXiangQu16 小时前
ARM64 进程虚拟地址空间布局
linux·arm64 虚拟地址布局
云小逸16 小时前
【网络通信】同一网段与不同网段的通信原理
网络·网络安全
阳光九叶草LXGZXJ16 小时前
达梦数据库-学习-47-DmDrs控制台命令(LSN、启停、装载)
linux·运维·数据库·sql·学习
春日见16 小时前
如何避免代码冲突,拉取分支
linux·人工智能·算法·机器学习·自动驾驶
无垠的广袤17 小时前
【VisionFive 2 Lite 单板计算机】边缘AI视觉应用部署:缺陷检测
linux·人工智能·python·opencv·开发板
zr52685544717 小时前
PCIe-PN卡(三格电子)
网络
阿波罗尼亚17 小时前
Kubectl 命令记录
linux·运维·服务器
无名的小三轮17 小时前
防火墙基础实验:智能选路下的透明DNS选路配置
网络
一轮弯弯的明月17 小时前
TCP传输大致过程、流量控制与拥塞控制
网络·tcp/ip·计算机网络·学习心得