Linux C/C++服务器开发实践
上QQ阅读APP看书,第一时间看更新

1.3.1 TCP协议

TCP协议是面向连接、保证高可靠性(数据无丢失、数据无失序、数据无错误、数据无重复到达)的传输层协议。TCP协议会把应用层数据加上一个TCP头,组成TCP报文。TCP报文首部(TCP头)的格式如图1-6所示。

图1-6

如果用C语言来定义,代码如下:

     typedef struct _TCP_HEADER  //TCP头定义,共20个字节
     {
      short  sSourPort;                     //源端口号16bit
      short  sDestPort;                     //目的端口号16bit
      unsigned int  uiSequNum;              //序列号32bit
      unsigned int  uiAcknowledgeNum;  //确认号32bit
      short  sHeaderLenAndFlag;             //前4位:TCP头长度;中6位:保留;后6位:标志位
      short  sWindowSize;                   //窗口大小16bit
      short  sCheckSum;                     //检验和16bit
      short  surgentPointer;                //紧急数据偏移量16bit
     }TCP_HEADER, *PTCP_HEADER;