UDP程序

一,UDPclient往UDPserver传送数据
(1),UDPserver程序建立过程
1,socket()函数————创建通信端点
参数:1,通信域,建立通信协议族 2,数据报套接字类型 3,具体的协议类型,一般前两个参数已经把协议确定下来,为0就好;
2,bind()————绑定服务端口
参数:1,套接口描述符 2,服务端地址 3,服务端结构体函数字节大小
3,recvfrom()————接受客户端信息
参数:1,套接口描述符 2,数组 3,数组大小 4,标志位为0 5,客户端地址 6,客户端结构体字节大小

二,UDPclient往UDPserver传送文件
注意:UDPclient 和UDPserver程序一定不要放在同一个目录下,因为在传送过程会出错;联想一下windows文件目录下相同的文件能从本目录再次传送到本目录下吗??答案是不可以!!! 还有打算要传送的文件一定是在本目录下一定要存在。

基本的过程:
客户端 ——————————————— 服务器
1,发送文件名 ——————————1,接受文件名,并创建文件
2,打开文件———————————2,打开文件
3,read数据,发送数据——————3,接受数据,write数据
4,read完毕,发送"bye" ————— 4,收到"bye",关闭文件

(1)客户端client
1,sendto()————发送文件
参数:1,套接口描述符 2,数组 3,数组大小 4,标志位为0 5,服务端地址 6,服务端结构体字节大小
2,open()——————打开文件
参数:1,文件名 2,只读的方式打开
3,read()————读文件
参数:1,文件描述符 fd 2,数组buf 3,数组大小
从buf中往fd中读sizeof(buf)字节

(2)服务端server
1,socket()函数————创建通信端点
参数:1,通信域,建立通信协议族 2,数据报套接字类型 3,具体的协议类型,一般前两个参数已经把协议确定下来,为0就好;
2,recvfrom()————接受客户端文件名
参数:1,套接口描述符 2,数组 3,数组大小 4,标志位为0 5,客户端地址 6,客户端结构体字节大小
3,open()——————打开文件,(有则打开,无则创建)
参数:1,文件名 2,只写的方式打开,3,权限为00700,
4,write()————写数据
参数:1,文件描述符fd 2,数组buf 3,数组大小
从fd中往buf中写sizeof(buf)字节

猜你喜欢

转载自blog.csdn.net/qq_41915323/article/details/86555586