函数 | 描述 | |
---|---|---|
[[socket | socket]] | 创建一个套接字描述符 |
[[socketpair | socketpair]] | 创建一个套接字偶对 |
[[shutdown | shutdown]] | 断开套接字连接 |
[[close | close]] | 销毁套接字 |
套接字选项
函数 | 描述 |
---|---|
[[getsockopt | sockopt]] |
[[setsockopt | sockopt]] |
适用于流式套接字和数据报套接字
流套接字
通信双方称为对等套接字,请求连接的客户端套接字称为主动套接字,等待连接的服务端套接字为被动套接字。
一个套接字开始时是主动的,在调用了listen()之后才变成被动的。只有主动套接字才可以用于connect(),只有被动套接字才可以用accept()。
函数 | 描述 | ||
---|---|---|---|
[[bind | bind]] | 允许服务进程给予套接字一个地址并建立连接的一方 | |
[[connect | connect]] | 客户进程调用。完成三次握手 | |
[[accept | accept]] | 客户进程完成connect()后,服务进程用该函数完成连接 | |
[[listen | listen]] | 创建一个保存连接请求的侦听队列 | |
[[getsockname | getsockname]] | 连接建立后,获取本地套接字地址 | |
[[getpeername | getpeername]] | 连接建立后,获取与本地套接字连接的对等套接字地址 | |
[[send | send]] | 向已连接的套接字发送数据 | |
[[recv | recv | ]] | 从已连接的套接字接收数据 |
数据报套接字
函数 | 描述 | |
---|---|---|
[[recvfrom | recvfrom]] | 接收数据报 |
[[sendto | sendto]] | 发送数据报 |
recvfrom和sendto也可以用于流式套接字,但是很少这样用