client:黄河,server:长江
三次握手
第一次:长江长江,我是黄河,听到请回答?
第二次:黄河黄河,我是长江,我听到你了,你能听到我吗?
第三次:长江长江,俺是黄河,我也能听到你,我要开始吐了。
其实第二次时黄河已经知道双方能互通,但是长江还不知道自己的声音黄河能否收到,所以需要有第三次黄河向长江的回应
四次挥手:
俗话说好聚好散,连接时礼数周全,闹掰了也不能失了礼数,所以原则上分手也分三步走
第一次:长江长江,咱们分手吧,听到请回答?
第二次:黄河黄河,我听到了,咱们分吧,听到请回答?
第三次:长江长江,我听到了,bye
理论上分手这三次就够了,但实际上在第二次的时候,长江可能有些数据还没对黄河吐完,所以,第二次应该拆分成两步,即“我听到了”和数据吐完后的“咱们分吧,听到请回答”,于是:
第一次:长江长江,咱们分手吧,听到请回答?
第二次:黄河黄河,我听到了(这是我最后一次回应你了,等我给你发完数据)
第三次:黄河黄河,发完了,咱们分吧,你能听到吗?
第四次:长江长江,我听到了,bye
参考:http://blog.chinaunix.net/uid-20726927-id-2455485.html