返回首页 - Notes - 2011

基本的 TCP 套接字编程


TCP客户端

典型的 TCP 客户端通信基本步骤

  1. 使用 socket() 创建 TCP 套接字
  2. 使用 connect() 建立到服务器的连接
  3. 使用 send()recv() 进行通信
  4. 使用 close() 关闭连接

TCP服务器端

典型的 TCP 服务器端通信基本步骤

  1. 使用 socket() 创建 TCP 套接字
  2. 利用 bind() 给套接字分配端口号
  3. 使用 listen() 通知系统允许对该端口建立连接
  4. 反复执行操作:调用 accept() 为每个客户获取新的套接字;使用 send()recv() 通过新的套接字与客户通信;使用 close() 关闭客户连接

创建套接字

int socket(int domain, int type, int protocol)

  1. 第一个参数:指定套接字的通信领域,IPv4AF_INET),IPv6AF_INET6
  2. 第二个参数:指定套接字的类型,TCPSOCK_STREAM),UDPSOCK_DGRAM
  3. 第三个参数:指定要使用的特定的端到端协议,TCPIPPROTO_TCP),UDPIPPROTO_UDP

该函数返回一个通信实例的句柄,也就是套接字描述符,非负值表示成功,-1 表示失败


销毁套接字

int close(int socket)

该函数通知底层协议栈发起关闭通信以及释放与套接字关联资源的动作,执行成功返回 0,执行失败返回 -1


date : 2011-12-27、2012-01-03