UDP对比TCP的网络编程接口
目录
一、UDP网络编程接口
服务端:
- 创建套接字
- 套接字绑定地址(INADDR_ANY地址绑定,即服务端所在主机有多个网络接口,分配了不同的IP地址,只要客户端发送到这些IP地址的任意一个,服务端就要接受客户端发来的数据包)
- 从客户端接收消息
- 向客户端发送消息
客户端:
- 创建套接字
- 套接字绑定地址(无需显式绑定,首次给服务端发送消息时自动绑定客户端自己的地址)
- 向服务端发送数据
- 从服务端接收数据
1.创建套接字(客户端、服务端)
int socket(int domain, int type, int protocol);
UDP网络编程的type参数为SOCK_DGRAM
2.套接字绑定地址(客户端、服务端)
int bind(int socket, const struct sockaddr *address, socklen_t address_len);
3.发送数据(客户端、服务端)
ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen);
4.接收数据(客户端、服务端)
ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,struct sockaddr *src_addr, socklen_t *addrlen);
二、TCP网络编程接口
服务端:
- 创建监听套接字
- 监听套接字绑定地址(INADDR_ANY地址绑定,即服务端所在主机有多个网络接口,分配了不同的IP地址,只要客户端发送到这些IP地址的任意一个,服务端就要接受客户端发来的字节流)
- 将监听套接字设置为监听模式,准备接收客户端的连接
- 接受客户端连接请求,获取IO套接字
- 通过IO套接字读写数据(即发送/接收数据)
客户端:
- 创建套接字
- 套接字绑定地址(无需显式绑定地址,与服务端连接成功后自动绑定客户端自己的地址)
- 主动与服务端建立连接
- 通过套接字读写数据(即发送/接收数据)
1.创建套接字(客户端、服务端)
int socket(int domain, int type, int protocol);
TCP网络编程的type参数为SOCK_STREAM
2.套接字绑定地址(客户端、服务端)
int bind(int socket, const struct sockaddr *address, socklen_t address_len);
3.将套接字设置为监听模式(服务端)
int listen(int socket, int backlog);
4.接收来自客户端的连接请求(服务端)
int accept(int socket, struct sockaddr* address, socklen_t* address_len);
5.主动与服务端建立连接(客户端)
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
6.从套接字中读取数据(客户端、服务端)
ssize_t read(int fd, void *buf, size_t count);
7.向套接字写入数据(客户端、服务端)
ssize_t write(int fd, const void *buf, size_t count);
原文地址:https://blog.csdn.net/2301_76197086/article/details/144358011
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!