• C/C++网络编程5——实现基于TCP的服务器端/客户端2


    三次握手过程详解:

      1:客户端的协议栈向服务器端发送SYN包,并告诉服务器端当前放送序号为j,客户端进入SYNC_SEND状态。

      2:服务器端的协议栈收到这个包以后,和客户端进行ACK应答,应答值为j+1,表示对SYN包j的确认,同时服务器也发送一个SYN包,并告诉客户端我的序列号是k,服务器端进入SYNC_RECD状态。

      3:客户端协议栈收到ACK以后,使得应用程序从connect调用返回,表示客户端到服务器端的单向连接已经建立成功,客户端进入ESTABLISHED,同时客户端协议栈也会对服务器端的SYN包进行应答,应答数据K+1。

      4:应答包到达服务器端后,服务器端协议使得accept阻塞调用返回,这个时候服务器端到客户端的单向连接也建立成功,服务器端进入ESTABLISHED状态。

      

     四次挥手详解:

      step1:主机1没有数据要往主机2发送以后,首先发起FIN报文,然后进入FIN_WAIT1状态。

      step2:主机2收到FIN报文以后,回复一个确认报文,主机2进入CLOSE_WAIT状态。

      step3:主机1收到确认报文以后进入FIN_WAIT2状态,随后主机2需要发送给主机1的数据也发送完了以后继续往主机1发送一个FIN报文,发送完以后主机2进入LAST_ACK状态。

      step4:主机1收到这个FIN报文以后,进入TIME_WAIT状态,给主机2回复一个确认报文,主机2收到确认报文以后,主机2的连接状态关闭,主机1停在TIME_WAIT状态2MSL没有再收到FIN报文也进入关闭状态。

  • 相关阅读:
    asp.net 文件下载
    net 数据库连接详解 相当经典啊
    取值:webconfig中的key
    通过监听的端口查找本机进程和服务思路
    以系统服务运行某个程序
    测底根除Windows流氓软件开机自动运行
    使用Wireshark在主机上抓取远程主机的数据流量
    记录Windows远程登录日志
    证书不匹配发出告警的解决方法
    WPS office云同步图标彻底删除方法
  • 原文地址:https://www.cnblogs.com/418ks/p/11675252.html
Copyright © 2020-2023  润新知