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

相关推荐
idcardwang1 天前
esp32s3-idf使用smart_config一键配网
网络
新兴AI民工1 天前
【Linux内核九】进程管理模块:list_head钩子构造双向列表和一些宏定义
linux·运维·list·linux内核
小周学学学1 天前
ESXI故障处理-重启后数据存储丢失
linux·运维·服务器
googleccsdn1 天前
ENSP Pro Lab笔记:配置BGP EVPN VXLAN双栈(2)
网络·笔记·网络协议
min1811234561 天前
HR人力资源招聘配置流程图制作教程
大数据·网络·人工智能·架构·流程图·求职招聘
哎哟喂呢哈1 天前
ddns 免费 ipv6
linux
Flash.kkl1 天前
Linux——线程的同步和互斥
linux·开发语言·c++
sunfove1 天前
Python 面向对象编程:从过程式思维到对象模型
linux·开发语言·python
云和数据.ChenGuang1 天前
达梦数据库安装服务故障四
linux·服务器·数据库·达梦数据库·达梦数据
weixin_516023071 天前
ssh配合密钥连接
服务器·网络·ssh