网络编程 - 套接字函数

优质
小牛编辑
132浏览
2023-12-01
函数描述
[[socketsocket]]创建一个套接字描述符
[[socketpairsocketpair]]创建一个套接字偶对
[[shutdownshutdown]]断开套接字连接
[[closeclose]]销毁套接字

套接字选项

函数描述
[[getsockoptsockopt]]
[[setsockoptsockopt]]

适用于流式套接字和数据报套接字

流套接字

通信双方称为对等套接字,请求连接的客户端套接字称为主动套接字,等待连接的服务端套接字为被动套接字。

一个套接字开始时是主动的,在调用了listen()之后才变成被动的。只有主动套接字才可以用于connect(),只有被动套接字才可以用accept()。

函数描述
[[bindbind]]允许服务进程给予套接字一个地址并建立连接的一方
[[connectconnect]]客户进程调用。完成三次握手
[[acceptaccept]]客户进程完成connect()后,服务进程用该函数完成连接
[[listenlisten]]创建一个保存连接请求的侦听队列
[[getsocknamegetsockname]]连接建立后,获取本地套接字地址
[[getpeernamegetpeername]]连接建立后,获取与本地套接字连接的对等套接字地址
[[sendsend]]向已连接的套接字发送数据
[[recvrecv]]从已连接的套接字接收数据

数据报套接字

函数描述
[[recvfromrecvfrom]]接收数据报
[[sendtosendto]]发送数据报

recvfrom和sendto也可以用于流式套接字,但是很少这样用