您的位置:首页 > 文旅 > 美景 > 普陀网页设计_新疆生产建设兵团公务员_广告销售如何寻找客户_小程序开发公司十大排名

普陀网页设计_新疆生产建设兵团公务员_广告销售如何寻找客户_小程序开发公司十大排名

2024/12/7 14:26:14 来源:https://blog.csdn.net/weixin_50993868/article/details/143689328  浏览:    关键词:普陀网页设计_新疆生产建设兵团公务员_广告销售如何寻找客户_小程序开发公司十大排名
普陀网页设计_新疆生产建设兵团公务员_广告销售如何寻找客户_小程序开发公司十大排名

这里写自定义目录标题

  • 主要的 TCP 编程 API 函数
    • 1.1 socket()
    • 1.2 bind()
    • 1.3 listen()
    • 1.4 accept()
    • 1.5 connect()
    • 1.6 send()
    • 1.7 recv()
    • 1.8 close()

在这里插入图片描述

主要的 TCP 编程 API 函数

1.1 socket()

创建一个新的套接字。

int socket(int domain, int type, int protocol);

domain:指定协议族,一般为 AF_INET(IPv4)或 AF_INET6(IPv6)。
AF_INET IPv4 Internet protocols ip(7)
AF_INET6 IPv6 Internet protocols ipv6(7)
AF_UNIX, AF_LOCAL Local communication unix(7)
AF_NETLINK Kernel user interface device netlink(7)
AF_PACKET Low level packet interface packet(7)

type:指定套接字类型,SOCK_STREAM 用于 TCP。
SOCK_STREAM: 流式套接字 唯一对应于TCP
SOCK_DGRAM: 数据报套接字,唯一对应着UDP
SOCK_RAW: 原始套接字

protocol:指定协议,通常为 0,让系统自动选择合适的协议(通常是 TCP)。
返回值:成功返回新创建的套接字描述符,失败返回 -1。

1.2 bind()

将套接字与本地的 IP 地址和端口号进行绑定。

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

sockfd:套接字描述符。
addr:指向 struct sockaddr 类型的地址结构,包含了 IP 地址和端口号信息。

struct sockaddr_in
u_short sin_family // protocol family
u_short sin_port // port number
struct in_addr sin_addr //IP address (32-bits)

addrlen:地址结构的大小。
返回值:成功返回 0,失败返回 -1。

1.3 listen()

将套接字设置为监听模式,准备接受传入的连接请求。

int listen(int sockfd, int backlog);

sockfd:套接字描述符。
backlog:等待连接队列的大小。
返回值:成功返回 0,失败返回 -1。

1.4 accept()

接受客户端的连接请求,返回新的套接字描述符用于与客户端通信。

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

sockfd:服务器端套接字描述符。
addr:指向 struct sockaddr 的指针,用于返回客户端的地址信息。
addrlen:地址结构的大小。
返回值:返回新的套接字描述符,用于与客户端进行数据交换。

1.5 connect()

客户端通过此函数向服务器发起连接请求。

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

sockfd:套接字描述符。
addr:指向服务器地址的结构体。
addrlen:地址结构的大小。
返回值:成功返回 0,失败返回 -1。

1.6 send()

向已连接的套接字发送数据。

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

sockfd:套接字描述符。
buf:发送的数据缓冲区。
len:数据的字节数。
flags:控制标志,通常为 0。
返回值:成功返回发送的字节数,失败返回 -1。

1.7 recv()

从套接字接收数据。

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

sockfd:套接字描述符。
buf:接收数据的缓冲区。
len:缓冲区的大小。
flags:控制标志,通常为 0。
返回值:成功返回接收到的字节数,失败返回 -1,返回 0 表示连接关闭。

1.8 close()

关闭套接字,释放资源。

int close(int sockfd);

sockfd:套接字描述符。
返回值:成功返回 0,失败返回 -1。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com