Socket编程接口

Socket编程接口
介绍
Socket接口是一套规范的TCP/IP协议栈的调用接口,它定义了一组函数以及一套机制,用于在网络上发送和接收数据。各个操作系统的协议栈实现各有不同,但只要实现了这套接口规范,那么是可以很方面进行移植的。
接口
创建与关闭
socket(): 创建一个新的套接字close(): 关闭一个套接字资源shutdown(): 用于关闭Socket连接的传输,可以选择关闭读、写或读写操作,但保留连接
设置
setsockopt(): 设置套接字选项,如超时时间、缓冲区大小等getsockopt(): 获取套接字选项inet_pton():用于将一个点分十进制的IP地址转换为二进制格式的IP地址。inet_ntop():用于将一个二进制格式的IP地址转换为点分十进制格式的IP地址bind(): 将套接字与一个地址(通常是主机地址和端口号的组合)绑定getsockname(): 获取与套接字绑定的地址getpeername(): 获取与套接字连接的远程地址
连接与监听
connect(): 试图连接到指定地址的远程套接字listen(): 使套接字开始监听连接请求accept(): 等待并接受一个连接请求
数据收发
send(): 发送数据recv(): 接收数据sendto(): 发送数据到指定地址recvfrom(): 从指定地址接收数据sendmsg(): 发送带辅助数据的消息recvmsg(): 接收带辅助数据的消息
域名解析
getaddrinfo(): 将主机名和服务名解析为地址信息freeaddrinfo(): 释放通过getaddrinfo()获取的地址信息getnameinfo(): 将地址信息转换为主机名和服务名
其它
htons():将主机字节序的16位整数转换为网络字节序ntohs():将网络字节序的16位整数转换为主机字节序htonl():将主机字节序的32位整数转换为网络字节序ntohl():将网络字节序的32位整数转换为主机字节序


