Windows环境下用于网络通信的TCP Socket的一般实现方法。
本篇主要描述socket连接的建立过程。

windows平台需要对socket初始化

解析服务器

关键函数:

代码实现:

  • 可以导致返回多个addrinfo结构的情形:
    • host关联的地址有多个,那么适用于所请求的地址簇的每个地址都将返回一个对应的结构;
    • port指定的服务或端口支持多个套接字类型,那么每个套接字类型都可能返回一个结构,具体取决于hint的ai_socktype成员。 
  • 大端字序(big-endian) 和 小端字序(little-endian),
    • 不同类型的CPU有不同的字节顺序类型,指的是整数在内存中保存的顺序,即主机字节顺序,常见的有大端和小端两种。
    • Intel x86 CPU 是小端字序,整数的低位字节放在内存的低位。
    • 网络传输字节顺序是大端字序,整数的高位字节放在内存的低位。
    • htons指的是host to network (s for short),将短整型数转化为网络字节序,相对应的有长整型数的版本htonl(l for long)。
    • 反向转换有ntohs,ntohl,同理。

创建socket并连接

关键函数:

代码实现:

原文:大专栏  TCP Socket - (1)建立连接


02-13 12:59
查看更多