PR_OpenTCPSocket¶
创建指定地址族的新 TCP 套接字。
语法¶
#include <prio.h>
PRFileDesc* PR_OpenTCPSocket(PRIntn af);
参数¶
该函数具有以下参数
af
新 TCP 套接字的地址族。可以是
PR_AF_INET
(IPv4)、PR_AF_INET6
(IPv6) 或PR_AF_LOCAL
(Unix 域,仅在 POSIX 系统上支持)。
返回值¶
该函数返回以下值之一
成功完成后,指向为新打开的 TCP 套接字创建的 PRFileDesc 对象的指针。
如果创建新的 TCP 套接字失败,则返回
NULL
。
描述¶
TCP(传输控制协议)是 TCP/IP 协议套件中面向连接的可靠字节流协议。PR_OpenTCPSocket 创建地址族为 af
的新 TCP 套接字。TCP 连接由被动套接字(服务器)接受来自主动套接字(客户端)的连接设置请求建立。通常,服务器使用 PR_Bind 将其套接字绑定到众所周知的端口,调用 PR_Listen 开始侦听连接设置请求,并调用 PR_Accept 接受连接。客户端使用 PR_Connect 发出连接请求。
建立连接后,客户端和服务器可以在彼此之间发送和接收数据。要接收数据,可以调用 PR_Read 或 PR_Recv。要发送数据,可以调用 PR_Write、PR_Writev、PR_Send 或 PR_TransmitFile。PR_AcceptRead 适用于服务器在一次函数调用中接受新的客户端连接并读取客户端的第一个请求。
TCP 连接可以通过 PR_Shutdown 关闭,套接字应通过 PR_Close 关闭。