自学内容网 自学内容网

UDP对比TCP的网络编程接口

目录

一、UDP网络编程接口

1.创建套接字(客户端、服务端)

2.套接字绑定地址(客户端、服务端)

3.发送数据(客户端、服务端)

4.接收数据(客户端、服务端)

二、TCP网络编程接口

1.创建套接字(客户端、服务端)

2.套接字绑定地址(客户端、服务端)

3.将套接字设置为监听模式(服务端)

4.接收来自客户端的连接请求(服务端)

5.主动与服务端建立连接(客户端)

6.从套接字中读取数据(客户端、服务端)

7.向套接字写入数据(客户端、服务端)


一、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)!