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

相关推荐
RisunJan5 小时前
Linux命令-getsebool命令(查询 SELinux 策略中各项布尔值(boolean)的当前状态)
linux·运维·服务器
郭涤生5 小时前
大白话Proactor模式
linux·网络·c++
Cat God 0075 小时前
CentOS 搭建 SFTP 服务器(一)
linux·服务器·centos
晚风予卿云月5 小时前
Linux编辑器—vim的使用
linux·编辑器·vim
乾元5 小时前
Syslog / Flow / Telemetry 的 AI 聚合与异常检测实战(可观测性)
运维·网络·人工智能·网络协议·华为·自动化·ansible
黑客思维者5 小时前
XGW-9000系列高端新能源电站边缘网关硬件架构设计
网络·架构·硬件架构·嵌入式·新能源·计算机硬件·电站
MYMOTOE65 小时前
ISC-3000S的U-Boot 镜像头部解析
java·linux·spring boot
郭涤生5 小时前
大白话Reactor模式
linux·c++
liebe1*15 小时前
第八章 防火墙高可靠性技术
运维·服务器·网络