免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
TCP建立連接三次握手過程詳解(wireshark截圖、java socket源碼)

TCP(Transmission Control Protocol 傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。

三次握手協(xié)議建立連接圖

握手過程步驟如下(配wireshark分析圖):


1、客戶端發(fā)送SYN(SEQ=1022)報文給服務(wù)器端,客戶端進(jìn)入SYN_SEND狀態(tài)。

2、服務(wù)器端收到SYN報文,回應(yīng)一個SYN (SEQ=2032)ACK(ACK=1022+1)報文,服務(wù)器段進(jìn)入SYN_RECV狀態(tài)。

注意:服務(wù)器根據(jù)syn=1判斷客戶端請求建立連接,返回ack=1



3、客戶端收到服務(wù)器端的SYN報文,回應(yīng)一個ACK(ACK=2032+1)報文,進(jìn)入Established狀態(tài)。

注意:確認(rèn)ack number是否與第一次發(fā)送(seq number+1)相等,并ack=1。正確,發(fā)送ack number = seq number(服務(wù)器順序編號)+1


服務(wù)器端:確認(rèn)ack number是否與第一次發(fā)送(seq number+1)相等,并ack=1。正確,連接建立。

連接建立完成,可以傳送數(shù)據(jù)了。

java測試源碼(只有握手部分)

服務(wù)器代碼:

package com.wangshihai.util;import java.io.IOException;import java.net.InetAddress;import java.net.ServerSocket;import java.net.Socket;/** * * @ClassName: TCPServerSocket* @Description: TODO(tcp server socket類型)* @author 技術(shù)雜貨鋪 wangshihai.com* @date 2015年7月25日 上午8:49:54* */public class TCPServerSocket {	private static ServerSocket serverSocket;	private static Socket socket;	/**	 * 	* @Title: startServerSocket 	* @Description: TODO(根據(jù)端口,綁定本機(jī)地址,建立serversocket) 	* @param @param bindPort    綁定端口	* @param @param bindIp      綁定地址	* @param @param blocknumber 允許客戶端連接的個數(shù) 	* @return void    返回類型 	* @throws	 */	public static void startServerSocket(int bindPort,String bindIp,int blocknumer){		try {			serverSocket = new ServerSocket(bindPort,blocknumer,InetAddress.getByName(bindIp));			socket = serverSocket.accept();			System.out.println('連接的客戶端地址和端口為:'+socket.getRemoteSocketAddress());		} catch (IOException e) {			e.printStackTrace();		}	}		/**	 * 	* @Title: main 	* @Description: TODO(測試防范) 	* @param @param args    設(shè)定文件 	* @return void    返回類型 	* @throws	 */	public static void main(String[] args) {		startServerSocket(6000,'192.168.2.100',3);	}}


客戶端代碼:

package com.wangshihai.util;import java.io.IOException;import java.net.InetAddress;import java.net.Socket;import java.net.UnknownHostException;/** * * @ClassName: TCPClientSocket* @Description: TODO(連接server socket 工具類)* @author 技術(shù)雜貨鋪 wangshihai.com* @date 2015年7月25日 上午9:17:33* */public class TCPClientSocket {	private static Socket socket;	/**	 * 	* @Title: connectServerSocket 	* @Description: TODO(根據(jù)服務(wù)器的IP和端口,建立socket連接) 	* @param @param bindPort 訪問的服務(wù)器端口 	* @return void    返回類型 	* @throws	 */	public static void connectServerSocket(int bindPort){		InetAddress inetAddress;		try {			//根據(jù)字符串IP獲取inetaddress對象			inetAddress = InetAddress.getByName('192.168.2.100');			socket = new Socket(inetAddress, bindPort);		} catch (UnknownHostException e) {			e.printStackTrace();		} catch (IOException e) {			e.printStackTrace();		}			}		/**	 * 	* @Title: main 	* @Description: TODO(測試方法) 	* @param @param args    設(shè)定文件 	* @return void    返回類型 	* @throws	 */	public static void main(String[] args) {		int bindPort = 6000;		connectServerSocket( bindPort);	}} 


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java 網(wǎng)絡(luò)編程 | 菜鳥教程
Socket編程
【從零開始學(xué)Java筆記】網(wǎng)絡(luò)編程
java根據(jù)ip獲取經(jīng)緯度城市地址
Java技巧: 根據(jù)網(wǎng)址/域名查詢DNS/IP地址
Java第一次作業(yè)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服