欢迎来到天天文库
浏览记录
ID:56826034
大小:15.00 KB
页数:6页
时间:2020-07-15
《tcp建立连接三次握手过程详解(wireshark截图、javasocket源码).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、TCP建立连接三次握手过程详解(wireshark截图、javasocket源码)TCP(TransmissionControlProtocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。三次握手协议建立连接图握手过程步骤如下(配wireshark分析图):1、客户端发送SYN(SEQ=1022)报文给服务器端,客户端进入SYN_SEND状态。2、服务器端收到SYN报文,回应一个SYN(SEQ=2032)ACK(ACK=1022+1)报文,服务器段进入SYN_RECV状态。注意:服务器根据syn=1判断客户端请求建
2、立连接,返回ack=13、客户端收到服务器端的SYN报文,回应一个ACK(ACK=2032+1)报文,进入Established状态。注意:确认acknumber是否与第一次发送(seqnumber+1)相等,并ack=1。正确,发送acknumber=seqnumber(服务器顺序编号)+1服务器端:确认acknumber是否与第一次发送(seqnumber+1)相等,并ack=1。正确,连接建立。连接建立完成,可以传送数据了。java测试源码(只有握手部分)服务器代码:packagecom.wangshihai.util;import
3、java.io.IOException;importjava.net.InetAddress;importjava.net.ServerSocket;importjava.net.Socket;/****@ClassName:TCPServerSocket*@Description:TODO(tcpserversocket类型)*@author技术杂货铺wangshihai.com*@date2015年7月25日上午8:49:54**/publicclassTCPServerSocket{privatestaticServerSocket
4、serverSocket;privatestaticSocketsocket;/****@Title:startServerSocket*@Description:TODO(根据端口,绑定本机地址,建立serversocket)*@param@parambindPort绑定端口*@param@parambindIp绑定地址*@param@paramblocknumber允许客户端连接的个数*@returnvoid返回类型*@throws*/publicstaticvoidstartServerSocket(intbindPort,Stri
5、ngbindIp,intblocknumer){try{serverSocket=newServerSocket(bindPort,blocknumer,InetAddress.getByName(bindIp));socket=serverSocket.accept();System.out.println('连接的客户端地址和端口为:'+socket.getRemoteSocketAddress());}catch(IOExceptione){e.printStackTrace();}}/****@Title:main*@Descri
6、ption:TODO(测试防范)*@param@paramargs设定文件*@returnvoid返回类型*@throws*/publicstaticvoidmain(String[]args){startServerSocket(6000,'192.168.2.100',3);}}客户端代码:packagecom.wangshihai.util;importjava.io.IOException;importjava.net.InetAddress;importjava.net.Socket;importjava.net.Unknown
7、HostException;/****@ClassName:TCPClientSocket*@Description:TODO(连接serversocket工具类)*@author技术杂货铺wangshihai.com*@date2015年7月25日上午9:17:33**/publicclassTCPClientSocket{privatestaticSocketsocket;/****@Title:connectServerSocket*@Description:TODO(根据服务器的IP和端口,建立socket连接)*@param@p
8、arambindPort访问的服务器端口*@returnvoid返回类型*@throws*/publicstaticvoidconnectServerSocket(intbindPort){I
此文档下载收益归作者所有