首页 > 编程知识 正文

python 网络编程,udp数据包结构

时间:2023-05-05 08:47:28 阅读:107959 作者:4609

TC/UDPP网络编程

练习:文件传输功能

首先是一个函数

intftruncate(intFD,off_t length ) )。

功能:将软盘指定的文件大小更改为参数length指定的大小

注:软盘必须以刻录模式打开。

参数:软盘是打开文件的文件描述符

length指定文件的大小

返回值: 0,失败返回-1。

客户端将文件发送到服务器

typedef struct

{

int size; r buf[1024];

cha

(msg;

客户端:

初次发送文件名、文件大小

MSG msg;

msg.size=file_size;

strcpy(msg.buf,'文件名');

send(sockfd,msg,sizeof ) (msg ) )

下次发送数据

msg.size=read(FD,msg.buf,sizeof ) msg.buf );

send(sockfd,msg,sizeof ) (msg ) )

UDP收发数据函数

size_trecvfrom(intsockfd,void *buf,size_t len,int flags,struct sockaddr *src_addr,socklen_t *addrlen

功能:接收数据

参数:

sockfd创建的套接字

buf接收数据存储位置

len要接收的数据的大小

flags 0

src_addr获取发送方的地址

addrlen值结果参数(在使用之前必须初始化。 初始化的大小为struct sockaddr大小。 )

返回值:

接收成功的字节数,失败的字节数为-1

size_tsendto(intsockfd,void *buf,size_t len,int flags,const struct sockaddr *dest_addr,socklen_t addrlen

功能:发送数据

参数:

sockfd得到的套接字

buf发送的数据的保存地址

len要发送的数据的大小

flags 0

dest_addr目标主机的地址

地址的大小(sockaddr结构大小) )。

返回值:成功返回接收到的套接字,-1失败

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。