您的位置:首页 > 新闻 > 会展 > 兰州疫情最新消息今天 新闻_1小时赚8000元游戏_衡阳百度推广公司_网络营销有哪些

兰州疫情最新消息今天 新闻_1小时赚8000元游戏_衡阳百度推广公司_网络营销有哪些

2025/5/11 7:57:06 来源:https://blog.csdn.net/pouop/article/details/146378579  浏览:    关键词:兰州疫情最新消息今天 新闻_1小时赚8000元游戏_衡阳百度推广公司_网络营销有哪些
兰州疫情最新消息今天 新闻_1小时赚8000元游戏_衡阳百度推广公司_网络营销有哪些
  1. socket():

    • 功能: 创建一个新的套接字。

    • 参数:

      • domain: 指定通信域,如AF_INET(IPv4)或AF_INET6(IPv6)。

      • type: 指定套接字类型,如SOCK_STREAM(TCP)或SOCK_DGRAM(UDP)。

      • protocol: 通常为0,表示使用默认协议。

  2. bind():

    • 功能: 将套接字绑定到一个本地地址和端口。

    • 参数:

      • sockfd: 套接字描述符。

      • addr: 指向要绑定的地址结构体的指针,通常是sockaddr_insockaddr_in6

      • addrlen: 地址结构体的长度。

  3. listen():

    • 功能: 将套接字设置为监听模式,等待连接请求。

    • 参数:

      • sockfd: 套接字描述符。

      • backlog: 等待连接队列的最大长度。

  4. accept():

    • 功能: 接受一个连接请求,创建一个新的套接字用于与客户端通信。

    • 参数:

      • sockfd: 监听套接字描述符。

      • addr: 指向客户端地址结构体的指针。

      • addrlen: 客户端地址结构体的长度。

  5. connect():

    • 功能: 客户端使用该函数连接到服务器。

    • 参数:

      • sockfd: 套接字描述符。

      • addr: 指向服务器地址结构体的指针。

      • addrlen: 服务器地址结构体的长度。

  6. send():

    • 功能: 发送数据到已连接的套接字。

    • 参数:

      • sockfd: 套接字描述符。

      • buf: 指向要发送数据的缓冲区。

      • len: 要发送的数据长度。

      • flags: 发送标志,通常为0。

  7. recv():

    • 功能: 从已连接的套接字接收数据。

    • 参数:

      • sockfd: 套接字描述符。

      • buf: 指向接收数据的缓冲区。

      • len: 缓冲区的长度。

      • flags: 接收标志,通常为0。

  8. close():

    • 功能: 关闭套接字,释放资源。

    • 参数:

      • sockfd: 套接字描述符。

  9. shutdown():

    • 功能: 关闭套接字的读、写或读写功能。

    • 参数:

      • sockfd: 套接字描述符。

      • how: 关闭方式,如SHUT_RD(关闭读)、SHUT_WR(关闭写)或SHUT_RDWR(关闭读写)

 

以上是tcp的常用接口,接下来讲讲细节:

和udp类似,我们需要先使用socket来创建一个文件,

和udp不同的是,tcp是面向连接的,就要求tcp随时等待被链接,需要讲socket设置为监听状态:

我们用accept接收客户端信息的时候,需要重新定义一个文件描述符,之后我们拿着新的文件描述符直接去通讯,之前的描述符就继续去监听其他新的客户端信息,当我们使用完的时候一定要记得释放文件描述符,要不然会造成文件描述符泄露。、

我们可以使用read,write的方式来通讯,也可以使用recv和send的方式:

 

版权声明:

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

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