Linux软件编程day(12) -udp

任务:

1.利用套接字实现两台主机全双工通信

socket socket

bind

发一次数据(数据可以随便) 接收一次数据(目的:接收发送方的IP+Port)

两个任务 两个任务

从终端接 -> 发送 从终端接 -> 发送

从网络接 -> 打印 从网络接 -> 打印

1.虚拟机能够上网

2.apt-get配置好

3.sudo apt-get install wireshark

4.sudo wireshark

UDP包头:(8个字节)

1.源端口号

2.目的端口号

3.长度

4.校验和

UDP特点:

1.不安全不可靠的传输方式

2.UDP资源开销小,实现机制简单

3.UDP是无连接的

2.TCP编程

发端: 收端:

socket socket

bind

listen

connect accept

send recv

recv send

close close

1.函数接口:

1.socket

UDP: socket(AF_INET, SOCK_DGRAM, 0);

TCP: socket(AF_INET, SOCK_STREAM, 0);

2.listen

int listen(int sockfd, int backlog);

功能:

监听发送三次握手连接的套接字,并放入等到处理队列中

参数:

sockfd:套接字文件描述符

backlog:等待队列的大小(最多存放尚未被处理的三次握手请求的个数)

返回值:

成功返回0

失败返回-1

3.accept

int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

功能:

处理等待队列中的第一个套接字

参数:

sockfd:套接字文件描述符

addr:存放发送方IP地址的空间首地址

addrlen:存放发送方IP地址的空间大小

返回值:

成功返回一个新的文件描述符

失败返回-1

4.connect

int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);

功能:

向接收方发起连接请求

参数:

sockfd:套接字文件描述符

addr:接收方的IP地址和端口号

addrlen:接收方的IP地址和端口号的大小

返回值:

成功返回0

失败返回-1

5.send

ssize_t send(int sockfd, const void *buf, size_t len, int flags);

功能:

向接收方发送数据

参数:

sockfd:套接字文件描述符

buf:要发送的数据的首地址

len:要发送的数据的长度

flags:标志位

返回值:

成功返回发送字节数

失败返回-1

6.recv

ssize_t recv(int sockfd, void *buf, size_t len, int flags);

功能:

接收发送方发送的数据

参数:

sockfd:套接字文件描述符

buf:接收数据的缓冲区首地址

len:接收数据的缓冲区的大小

flags:标志位

返回值:

成功返回实际接收字节数

失败返回-1

对方关闭返回0

相关推荐
青瓦梦滋2 分钟前
WebSocket协议
linux·服务器·网络·c++·websocket·网络协议·http
zhang1338308907543 分钟前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
知已难寻1 小时前
第 2 篇 · 云的地基:服务器、存储、网络三大基础设施
运维·服务器·网络·云原生·云计算·负载均衡·1024程序员节
IpdataCloud3 小时前
批量查IP的API接口怎么选?免费API配额瓶颈与离线库本地批量方案实测
网络·网络协议·tcp/ip
ITyunwei09874 小时前
售后夜间值守怎么落地:从告警到交接的工单系统配置笔记
网络
Smoothcloud润云5 小时前
GPU远程纳管安全吗?最小权限、网络边界与日志审计实战
服务器·网络·人工智能·安全·gpu算力·gpu
ai大模型-探索者5 小时前
Function Call与MCP(区别、联系与实战)
java·服务器·网络
木子欢儿5 小时前
Debian 13 + vsftpd 搭建FTP服务
linux·服务器·前端·网络·debian
达~熊迪6 小时前
IP 分配前核查:把在线状态和使用登记一起看
服务器·网络·tcp/ip
西索斯coding7 小时前
Qwen3-Max 与 Qwen-Plus:60 个真实修复任务评测方案
大数据·网络·算法·ai