程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> JAVA通信系列一:Java Socket技術總結,javasocket

JAVA通信系列一:Java Socket技術總結,javasocket

編輯:JAVA綜合教程

JAVA通信系列一:Java Socket技術總結,javasocket


 本文是學習java Socket整理的資料,供參考。

1       Socket通信原理

1.1     ISO七層模型

1.2     TCP/IP五層模型

 

         應用層相當於OSI中的會話層,表示層,應用層。

         區別參考:http://blog.chinaunix.net/uid-22166872-id-3716751.html

 

1.3     TCP報文

 

(1)序號:Seq序號,占32位,用來標識從TCP源端向目的端發送的字節流,發起方發送數據時對此進行標記。

  (2)確認序號:Ack序號,占32位,只有ACK標志位為1時,確認序號字段才有效,Ack=Seq+1。

  (3)標志位:共6個,即URG、ACK、PSH、RST、SYN、FIN等,具體含義如下:

  (A)URG:緊急指針(urgent pointer)有效。

  (B)ACK:確認序號有效。

  (C)PSH:接收方應該盡快將這個報文交給應用層。

  (D)RST:重置連接。

  (E)SYN:發起一個新連接。

  (F)FIN:釋放一個連接。

 

 需要注意的是:

  (A)不要將確認序號Ack與標志位中的ACK搞混了。

  (B)確認方Ack=發起方Req+1,兩端配對。

1.4     Socket通信

       Socket是應用層與TCP/IP協議族通信的中間軟件抽象層,它是一組接口。在設計模式中,Socket其實就是一個門面模式,它把復雜的TCP/IP協議族隱藏在Socket接口後面,對用戶來說,一組簡單的接口就是全部,讓Socket去組織數據,以符合指定的協議。

1.5     三次握手

         Socket連接建立和關閉,詳見:http://www.2cto.com/net/201310/251896.html

2       通信基本概念

2.1     短連接

連接->傳輸數據->關閉連接 

短連接是指SOCKET連接,發送數據,接收數據後,馬上斷開連接。 

比如:

HTTP1.0默認是短連接,無狀態的,浏覽器和服務器每進行一次HTTP操作,就建立一次連接,但任務結束就中斷連接。 、

Http1.1默認是長連接

無狀態:協議對於事務處理沒有記憶能力;

2.2     長連接

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved