> 文章列表 > Socket编程接口

Socket编程接口

Socket编程接口

Socket编程接口

介绍

Socket接口是一套规范的TCP/IP协议栈的调用接口,它定义了一组函数以及一套机制,用于在网络上发送和接收数据。各个操作系统的协议栈实现各有不同,但只要实现了这套接口规范,那么是可以很方面进行移植的。

接口

创建与关闭

  1. socket(): 创建一个新的套接字
  2. close(): 关闭一个套接字资源
  3. shutdown(): 用于关闭Socket连接的传输,可以选择关闭读、写或读写操作,但保留连接

设置

  1. setsockopt(): 设置套接字选项,如超时时间、缓冲区大小等
  2. getsockopt(): 获取套接字选项
  3. inet_pton():用于将一个点分十进制的IP地址转换为二进制格式的IP地址。
  4. inet_ntop():用于将一个二进制格式的IP地址转换为点分十进制格式的IP地址
  5. bind(): 将套接字与一个地址(通常是主机地址和端口号的组合)绑定
  6. getsockname(): 获取与套接字绑定的地址
  7. getpeername(): 获取与套接字连接的远程地址

连接与监听

  1. connect(): 试图连接到指定地址的远程套接字
  2. listen(): 使套接字开始监听连接请求
  3. accept(): 等待并接受一个连接请求

数据收发

  1. send(): 发送数据
  2. recv(): 接收数据
  3. sendto(): 发送数据到指定地址
  4. recvfrom(): 从指定地址接收数据
  5. sendmsg(): 发送带辅助数据的消息
  6. recvmsg(): 接收带辅助数据的消息

域名解析

  1. getaddrinfo(): 将主机名和服务名解析为地址信息
  2. freeaddrinfo(): 释放通过getaddrinfo()获取的地址信息
  3. getnameinfo(): 将地址信息转换为主机名和服务名

其它

  1. htons():将主机字节序的16位整数转换为网络字节序
  2. ntohs():将网络字节序的16位整数转换为主机字节序
  3. htonl():将主机字节序的32位整数转换为网络字节序
  4. ntohl():将网络字节序的32位整数转换为主机字节序