Ⅰ ios7 層協議,tcp四層協議及如何對應的
物理層物理層與LAN: 常見設備:中繼器,集線器等. 常見介面:10Base-T,100Base-T,100Base-TX/FX,1000Base-T,1000Base-SX/LX等物理層與WAN: DTE設備:路由器,終端主機等 DCE設備:廣域網交換機,Modem,CSU/DSU等常見介面:RS-232,V.24,V.35等數據鏈路層: 數據鏈路層與LAN: IEE802標准:定義了系列區域網標准 IEE802.1 基本區域網問題 IEE802.2 定義LLC子層 IEE802.3 乙太網標准 IEE802.4 令牌匯流排網 IEE802.5 令牌環網數據鏈路層的LAN設備有: 乙太網交換機,HUB 數據鏈路層與LAN: 標准:HDLC,PPP,ISDN,X.25,Frame Relay 設備:Modem,ISDN終端適配器,CSU/DSU,廣域網交換機. 網路層: 設備:路由器,三層交換機協議:IP,IPX,RIP,OSPF,BGP等傳輸層: 協議:TCP,UDP,SPX等會話層,表示層,應用層: 會話層協議:SQL,NFS,RPC等表示層協議:ASCII,MPEG,JPEG等應用層協議:文字處理,郵件,電子表格等.
Ⅱ 蘋果手機怎麼設置cmwap上網
蘋果手機設置cmwap上網的方法如下:
一、如果已有CMWAP接入點,那麼選擇「設置」--移動網路--接入點名稱(APN)--在「通用」下面選擇CMWAP手機上網。
二、如果沒有CMWAP接入點,可以設置一個。
方法如下:
1、「設置」--移動網路--接入點名稱(APN)--新建APN。
2、進入新建頁面後,「名稱」可填寫CMWAP ,「APN」也可填寫CMWAP 。
3、「代理」填寫 10.0.0.172,「埠」填寫 80 ,「用戶名」 和 「密碼」 不用填寫。
4、「伺服器」 可以填寫 運營商的官方網址。「MMSC」、「彩信代理」和「彩信埠」不用填寫。
5、「MCC」填寫 460 ,「MNC」填寫 01 ,「身份驗證類型」不用填寫。
6、「APN類型」填寫 default , 「APN協議」填寫IPv4 ,「APN漫遊協議」填寫IPv4。
Ⅲ ios/ois的七層網路體系結構的每一層的功能和代表協議
應用層(Application layer)
表示層(Presentation layer)
會話層(Session layer)
傳輸層(Transport layer)
網路層(Network layer)
數據鏈路層(Data link layer)
物理層(Physical layer)
其中上三層稱之為高層,定義應用程序之間的通信和人機界面。什麼意思呢,就是上三層負責把電腦能看懂的東西轉化為你能看懂的東西,或把你能看懂的東西轉化為電腦能看懂的東西。
下四層稱之為底層,定義的是數據如何端到端的傳輸(end-to-end),物理規范以及數據與光電信號間的轉換。
下面一層一層的來說明物理層
物理層是OSI/ISO的第一層,它雖然處於最底層,卻是整個開放系統的基礎。物理層為設備之間的數據通信提供傳輸媒體及互連設備,為數據傳輸提供可靠的環境。
物理層的主要功能
為數據端設備提供傳送數據的通路,數據通路可以是一個物理媒體,也可以是多個物理媒體連接而成.一次完整的數據傳輸,包括激活物理連接,傳送數據,終止物理連接.所謂激活,就是不管有多少物理媒體參與,都要在通信的兩個數據終端設備間連接起來,形成一條通路。
傳輸數據.物理層要形成適合數據傳輸需要的實體,為數據傳送服務.一是要保證數據能在其上正確通過,二是要提供足夠的帶寬(帶寬是指每秒鍾內能通過的比特(BIT)數),以減少信道上的擁塞。傳輸數據的方式能滿足點到點,一點到多點,串列或並行,半雙工或全雙工,同步或非同步傳輸的需要。完成物理層的一些管理工作。
物理層的一些重要標准
物理層的一些標准和協議早在OSI/TC97/C16 分技術委員會成立之前就已制定並在應用了,OSI也制定了一些標准並採用了一些已有的成果。下面將一些重要的標准列出,以便讀者查閱。
ISO2110:稱為"數據通信----25芯DTE/DCE介面連接器和插針分配"。它與EIA(美國電子工業協會)的"RS-232-C"基本兼容。
ISO2593:稱為"數據通信----34芯DTE/DCE----介面連接器和插針分配"。
ISO4092:稱為"數據通信----37芯DTE/DEC----介面連接器和插針分配"。與EIARS-449兼容。
CCITT V.24:稱為"數據終端設備(DTE)和數據電路終接設備之間的介面電路定義表"。其功能與EIARS-232-C及RS-449兼容於100序列線上.
數據鏈路層
數據鏈路可以粗略地理解為數據通道。物理層要為終端設備間的數據通信提供傳輸媒體及其連接。媒體是長期的,連接是有生存期的。在連接生存期內,收發兩端可以進行不等的一次或多次數據通信。每次通信都要經過建立通信聯絡和拆除通信聯絡兩過程。這種建立起來的數據收發關系就叫作數據鏈路。而在物理媒體上傳輸的數據難免受到各種不可靠因素的影響而產生差錯,為了彌補物理層上的不足,為上層提供無差錯的數據傳輸,就要能對數據進行檢錯和糾錯。數據鏈路的建立、拆除,對數據的檢錯、糾錯是數據鏈路層的基本任務。
鏈路層的主要功能:
鏈路連接的建立,拆除,分離。
幀定界和幀同步。鏈路層的數據傳輸單元是幀。協議不同。幀的長短和界面也有差別,但無論如何必須對幀進行定界。
順序控制。指對幀的收發順序的控制。
差錯檢測和恢復。還有鏈路標識,流量控制等等.差錯檢測多用方陣碼校驗和循環碼校驗來檢測信道上數據的誤碼,而幀丟失等用序號檢測.各種錯誤的恢復則常靠反饋重發技術來完成。
數據鏈路層的主要協議
數據鏈路層協議是為發對等實體間保持一致而制定的,也為了順利完成對網路層的服務。主要協議如下:
ISO1745--1975:"數據通信系統的基本型控制規程"。這是一種面向字元的標准,利用10個控制字元完成鏈路的建立,拆除及數據交換。對幀的收發情況及差錯恢復也是靠這些字元來完成。
ISO1155, ISO1177, ISO2626, ISO2629等標準的配合使用可形成多種鏈路控制和數據傳輸方式。
ISO3309--1984:稱為"HDLC 幀結構"。
ISO4335--1984:稱為"HDLC 規程要素"。
ISO7809--1984:稱為"HDLC 規程類型匯編"。這3個標准都是為面向比特的數據傳輸控制而制定的.有人習慣上把這3個標准組合稱為高級鏈路控制規程。
ISO7776:稱為"DTE數據鏈路層規程"。與CCITT X.25LAB"平衡型鏈路訪問規程"相兼容。
鏈路層產品
獨立的鏈路產品中最常見的當屬網卡,網橋也是鏈路產品。MODEM的某些功能有人認為屬於鏈路層,對些還有爭議。數據鏈路層將本質上不可靠的傳輸媒體變成可靠的傳輸通路提供給網路層。在IEEE802.3情況下,數據鏈路層分成了兩個子層,一個是邏輯鏈路控制,另一個是媒體訪問控制。下圖所示為IEEE802.3LAN體系結構。
AUI=連接單元介面 PMA=物理媒體連接
MAU=媒體連接單元 PLS=物理信令
MDI=媒體相關接
網路層
網路層的產生也是網路發展的結果.在聯機系統和線路交換的環境中,網路層的功能沒有太大意義.當數據終端增多時。它們之間有中繼設備相連。此時會出現一台終端要求不只是與唯一的一台而是能和多台終端通信的情況,這就是產生了把任意兩台數據終端設備的數據鏈接起來的問題,也就是路由或者叫尋徑。另外,當一條物理信道建立之後,被一對用戶使用,往往有許多空閑時間被浪費掉。人們自然會希望讓多對用戶共用一條鏈路,為解決這一問題就出現了邏輯信道技術和虛擬電路技術。
網路層主要功能
網路層為建立網路連接和為上層提供服務,應具備以下主要功能:
路由選擇和中繼
激活,終止網路連接
在一條數據鏈路上復用多條網路連接,多採取分時復用技術
差錯檢測與恢復
排序,流量控制
服務選擇
網路管理
網路層的一些主要標准如下:
ISO.DIS8208:稱為"DTE用的X.25分組級協議"
ISO.DIS8348:稱為"CO 網路服務定義"(面向連接)
ISO.DIS8349:稱為"CL 網路服務定義"(面向無連接)
ISO.DIS8473:稱為"CL 網路協議"
ISO.DIS8348:稱為"網路層定址"
除上述標准外,還有許多標准。這些標准都只是解決網路層的部分功能,所以往往需要在網路層中同時使用幾個標准才能完成整個網路層的功能。由於面對的網路不同,網路層將會採用不同的標准組合。
。
在具有開放特性的網路中的數據終端設備,都要配置網路層的功能。現在市場上銷售的網路硬設備主要有網關和路由器。
傳輸層
傳輸層是兩台計算機經過網路進行數據通信時,第一個端到端的層次,具有緩沖作用。當網路層服務質量不能滿足要求時,它將服務加以提高,以滿足高層的要求;當網路層服務質量較好時,它只用很少的工作。傳輸層還可進行復用,即在一個網路連接上創建多個邏輯連接。傳輸層也稱為運輸層。傳輸層只存在於端開放系統中,是介於低3層通信子網系統和高3層之間的一層,但是很重要的一層。因為它是源端到目的端對數據傳送進行控制從低到高的最後一層。
有一個既存事實,即世界上各種通信子網在性能上存在著很大差異。例如電話交換網,分組交換網,公用數據交換網,區域網等通信子網都可互連,但它們提供的吞吐量,傳輸速率,數據延遲通信費用各不相同。對於會話層來說,卻要求有一性能恆定的界面。傳輸層就承擔了這一功能。它採用分流/合流,復用/介復用技術來調節上述通信子網的差異,使會話層感受不到。
此外傳輸層還要具備差錯恢復,流量控制等功能,以此對會話層屏蔽通信子網在這些方面的細節與差異.傳輸層面對的數據對象已不是網路地址和主機地址,而是和會話層的界面埠。上述功能的最終目的是為會話提供可靠的,無誤的數據傳輸。傳輸層的服務一般要經歷傳輸連接建立階段,,數據傳送階段,傳輸連接釋放階段3個階段才算完成一個完整的服務過程。而在數據傳送階段又分為一般數據傳送和加速數據傳送兩種。傳輸層服務分成5種類型。基本可以滿足對傳送質量,傳送速度,傳送費用的各種不同需要。
傳輸層的協議標准有以下幾種:
ISO8072:稱為"面向連接的傳輸服務定義"
ISO8072:稱為"面向連接的傳輸協議規范"
會話層
會話層提供的服務可使應用建立和維持會話,並能使會話獲得同步。會話層使用校驗點可使通信會話在通信失效時從校驗點繼續恢復通信。這種能力對於傳送大的文件極為重要。會話層,表示層,應用層構成開放系統的高3層,面對應用進程提供分布處理,對話管理,信息表示,恢復最後的差錯等.會話層同樣要擔負應用進程服務要求,而運輸層不能完成的那部分工作,給運輸層功能差距以彌補.主要的功能是對話管理,數據流同步和重新同步。要完成這些功能,需要由大量的服務單元功能組合,已經制定的功能單元已有幾十種,現將會話層主要功能介紹如下。
為會話實體間建立連接。為給兩個對等會話服務用戶建立一個會話連接,應該做如下幾項工作:
將會話地址映射為運輸地址
選擇需要的運輸服務質量參數(QOS)
對會話參數進行協商
識別各個會話連接
傳送有限的透明用戶數據
數據傳輸階段
這個階段是在兩個會話用戶之間實現有組織的,同步的數據傳輸。用戶數據單元為SSDU,而協議數據單元為SPDU。會話用戶之間的數據傳送過程是將SSDU轉變成SPDU進行的。
連接釋放
連接釋放是通過"有序釋放"、"廢棄"、"有限量透明用戶數據傳送"等功能單元來釋放會話連接的。會話層標准為了使會話連接建立階段能進行功能協商,也為了便於其它國際標准參考和引用,定義了12種功能單元.各個系統可根據自身情況和需要,以核心功能服務單元為基礎,選配其他功能單元組成合理的會話服務子集。
會話層的主要標准有"DIS8236:會話服務定義"和"DIS8237:會話協議規范"。
表示層
表示層的作用之一是為異種機通信提供一種公共語言,以便能進行互操作。這種類型的服務之所以需要,是因為不同的計算機體系結構使用的數據表示法不同。例如,IBM主機使用EBCDIC編碼,而大部分PC機使用的是ASCII碼。在這種情況下,便需要會話層來完成這種轉換。通過前面的介紹,我們可以看出,會話層以下5層完成了端到端的數據傳送,並且是可靠,無差錯的傳送。但是數據傳送只是手段而不是目的,最終是要實現對數據的使用。由於各種系統對數據的定義並不完全相同,最易明白的例子是鍵盤,其上的某些鍵的含義在許多系統中都有差異。這自然給利用其它系統的數據造成了障礙。表示層和應用層就擔負了消除這種障礙的任務。
對於用戶數據來說,可以從兩個側面來分析,一個是數據含義被稱為語義,另一個是數據的表示形式,稱做語法。像文字、圖形、聲音、文種、壓縮、加密等都屬於語法范疇。表示層設計了3類15種功能單位,其中上下文管理功能單位就是溝通用戶間的數據編碼規則,,以便雙方有一致的數據形式,能夠互相認識。ISO表示層為服務、協議、文本通信符制定了DP8822、DP8823、DIS6937/2等一系列標准。
應用層
應用層向應用程序提供服務,這些服務按其向應用程序提供的特性分成組,並稱為服務元素。有些可為多種應用程序共同使用,有些則為較少的一類應用程序使用。應用層是開放系統的最高層,是直接為應用進程提供服務的。其作用是在實現多個系統應用進程相互通信的同時,完成一系列業務處理所需的服務.其服務元素分為兩類:公共應用服務元素CASE和特定應用服務元素SASE.CASE提供最基本的服務,它成為應用層中任何用戶和任何服務元素的用戶,主要為應用進程通信,分布系統實現提供基本的控制機制。特定服務SASE則要滿足一些特定服務,如文卷傳送、訪問管理、作業傳送、銀行事務、訂單輸入等。
這些將涉及到虛擬終端、作業傳送與操作、文卷傳送及訪問管理、遠程資料庫訪問、圖形核心系統、開放系統互連管理等等。
應用層的標准有DP8649"公共應用服務元素"、DP8650"公共應用服務元素用協議"、文件傳送、訪問和管理服務及協議
Ⅳ IOS 7層結構體系 中各層的協議有哪些,有哪些相應的設備。及其如何實現通信的
呵呵,可以搜索答案呀!
應用層(Application layer) 提供應用程序間通信 FTP telnet
表示層(Presentation layer) 處理數據格式,數據加密等. 加密
會話層(Session layer) 建立,維護和管理會話 SQL
傳輸層(Transport layer) 建立主機端到端連接TCP UDP
網路層(Network layer) 定址和路由選擇 IP IPX
數據鏈路層(Data link layer) 提供介質訪問,鏈路管理等 ATM
物理層(Physical layer) 比特流傳輸 RJ45 802.3
ISO/OSI 只是個參考模型在實際應用中大家都使用TCP/IP
Ⅳ ios怎麼調內網ip
例一:Windows XP系統下設置靜態IP地址 1、查看伺服器電腦現在的IP地址 開始→運行→cmd→ipconfig→回車:ipaddress就是當前的IP地址;或者滑鼠左鍵點擊右下角寬頻連接圖標,再點詳細信息,里邊的IP地址就是本機當前ip。接下來我們就將本機當前IP地址(192.168.0.188)設置為靜態IP,步驟如下: 2、「控制面板」→「網路連接」或者在桌面右鍵點擊「網上鄰居」 選擇「屬性」選項,來到「網路連接」窗口,右鍵點擊「本地連接」(或者相應的網卡名稱),選擇「屬性」選項,如圖: 3、選擇「Internet協議(TCP/IP)」,如圖 4、一般企業區域網的IP地址配置是192.168.xxx.xxx,最後面的xxx為001-254,考慮到很多寬頻路由器可能會使用001和254,所以一般配置范圍為192.168.xxx.002至 192.168.xxx.253,填寫內容包括「IP地址」、「子網掩碼」、「默認網關」、DNS伺服器等,最後點擊確定,即完成靜態IP地址的配置。如圖: 5、通過步驟1查看當前設置成功的靜態IP地址。 例二:Win7系統下設置靜態IP地址 Win7系統下靜態ip的設置辦法跟xp的基本相同,只有第二步不同:選擇「控制面板」→「網路和共享中心」或者在桌面右鍵點擊「網路」 選擇「屬性」選項→「網路和共享中心」窗口→點擊「本地連接」→屬性→Internet 協議版本 4(TCP/IPv4)。
Ⅵ ios11怎樣設置APN
分析如下:
1、打開手機的瀏覽器Safari ,如下圖所示:

(6)ios網路層協議怎麼設置擴展閱讀:
1、APN指一種網路接入技術,是通過手機上網時必須配置的一個參數,它決定了手機通過哪種接入方式來訪問網路。
2、對於手機用戶來說,可以訪問的外部網路類型有很多,例如:Internet、WAP網站、集團企業內部網路、行業內部專用網路。
3、而不同的接入點所能訪問的范圍以及接入的方式是不同的,網路側如何知道手機激活以後要訪問哪個網路從而分配哪個網段的IP呢,這就要靠APN來區分了,即APN決定了用戶的手機通過哪種接入方式來訪問什麼樣的網路。
4、APN在GPRS骨幹網中用來標識要使用的外部PDN(Packet data network,分組數據網,即常說的Internet),在GPRS網路中代表外部數據網路的總稱。APN由以下兩部分組成:
①、APN網路標識:是用戶通過GGSN/PGW(Gateway GPRS Support Node,GPRS網關支持節點/PDN Gateway ,分組數據網網關)可連接到外部網路的標識,該標識由網路運營者分配給ISP(Internet Service Provider,網際網路業務提供者)或公司,與其固定Internet域名一致,是APN的必選組成部分。例如 , 定義移動用戶通過該接入某公司的企業網,則APN的網路標識可以規劃為「www.ABC123.com」。
②、APN運營者標識:用於標識GGSN/PGW所歸屬的網路,是APN的可選組成部分。其形式為「MNCxxxx.MCCyyyy.gprs」(3G網路中),或「MNCxxxx.MCCyyyy.3gppnetwork.org(4G網路中)。
資料來源:網路文科:APN
Ⅶ ISO七層協議每一層對應的設備和各層相應的協議
OSI的7層從下到上分別是:
應用層、表示層、會話層、傳輸層、網路層、數據鏈路層、物理層。
一、物理層:
1、傳輸協議:IEEE802.1A、IEEE802.2
2、傳輸單元:bit-flow比特流
3、主要功能設備/介面:光纖、雙絞線、中繼器和集線器 & RJ-45(網線介面)
二、數據鏈路層:
1、傳輸協議:ARP、MAC、FDDI、Ethernet、Arpanet、PPP、PDN
2、傳輸單元:frame幀
3、主要功能設備/介面:網橋、二層交換機
三、網路層:
1、傳輸協議:IP、ICMP、ARP、RARP
2、傳輸單元:數據包(packet)
3、主要功能設備/介面:路由器、三層交換機
四、傳輸層:
1、傳輸協議:TCP、UDP
2、傳輸單元:Segment/Datagram
3、主要功能設備/介面:四層交換機
五、會話層:
1、傳輸協議:SMTP、DNS
2、傳輸單元:報文
3、主要功能設備/介面:QoS
六、表示層:
1、傳輸協議:Telnet、SNMP
2、傳輸單元:報文
3、主要功能設備/介面:–
七、應用層:
1、傳輸協議:FTP、TFTP、Telnet、HTTP、DNS
2、傳輸單元:報文
3、主要功能設備/介面:–

(7)ios網路層協議怎麼設置擴展閱讀:
TCP是面向連接的,UDP是面向無連接的。TCP在通信之前必須通過三次握手機制與對方建立連接,而UDP通信不必與對方建立連接,不管對方的狀態就直接把數據發送給對方
OSI七層模型是一個理論模型,實際應用則千變萬化,因此更多把它作為分析、評判各種網路技術的依據;對大多數應用來說,只將它的協議族(即協議堆棧)與七層模型作大致的對應,看看實際用到的特定協議是屬於七層中某個子層,還是包括了上下多層的功能。
tcp是流模式,udp是數據包模式。tcp只要不超過緩沖區的大小就可以連續發送數據到緩沖區上,接收端只要緩沖區上有數據就可以讀取,可以一次讀取多個數據包,而udp一次只能讀取一個數據包,數據包之間獨立。
順序編號:tcp在傳輸文件的時候,會將文件拆分為多個tcp數據包,每個裝滿的數據包大小大約在1k左右,tcp協議為保證可靠傳輸,會將這些數據包順序編號。
網路-網路七層協議
Ⅷ ios系統使用什麼網路協議
iOS 7中使用了一種被稱為多路TCP的全新網路協議。TCP是Transmission Control Protocol的簡稱,它是一種面向連接(連接導向)的、可靠的、基於位元組流的運輸層(Transport layer)通信協議,能夠允許像iPhone或者iPad這樣的設備同時使用多重介面,比如說同時使用蜂窩移動網路和WiFi進行數據傳輸。
Ⅸ 怎樣在iOS中使用websocket協議
1、什麼是Socket? Socket又稱之為「套接字」,是系統提供的用於網路通信的方法。它的實質並不是一種協議,沒有規定計算機應當怎麼樣傳遞消息,只是給程序員提供了一個發送消息的介面,程序員使用這個介面提供的方法,發送與接收消息。 Socket描述了一個IP、埠對。它簡化了程序員的操作,知道對方的IP以及PORT就可以給對方發送消息,再由伺服器端來處理發送的這些消息。所以,Socket一定包含了通信的雙發,即客戶端(Client)與服務端(server)。 2、Socket的通信過程? 每一個應用或者說服務,都有一個埠。比如DNS的53埠,http的80埠。我們能由DNS請求到查詢信息,是因為DNS伺服器時時刻刻都在監聽53埠,當收到我們的查詢請求以後,就能夠返回我們想要的IP信息。所以,從程序設計上來講,應該包含以下步驟: 1)服務端利用Socket監聽埠; 2)客戶端發起連接; 3)服務端返回信息,建立連接,開始通信; 4)客戶端,服務端斷開連接。 3、Socket雙方如何建立起連接? 以下過程用代碼表示: Server端: 1 intport = 2000; 2 IPEndPointServerEP = new IPEndPoint(IPAddress.Any,port); 3 Socketserver = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp); 4 server.Bind(ServerEP); 5 server.Listen(0); Client端: 1 intport = 2000; 2 IPAddressserverip = IPAddress.Parse("192.168.1.100"); 3 IPEndPointEP = new IPEndPoint(server,port); 4 Socketserver = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp); 5 server.Bind(EP); 當伺服器端接收到來自客戶端的連接以後,需要新建一個socket來處理遠端的信息。 下面一段代碼應該在伺服器端: 1 Socketclient = server.Accept(); 以上很簡單的幾行代碼,將在以後的網路編程中經常用到,後面還會有同步通訊、非同步通訊、線程、委託與事件等等 第二部分、各協議的區別 TCP/IP SOCKET HTTP 網路七層由下往上分別為物理層、數據鏈路層、網路層、傳輸層、會話層、表示層和應用層。 其中物理層、數據鏈路層和網路層通常被稱作媒體層,是網路工程師所研究的對象; 傳輸層、會話層、表示層和應用層則被稱作主機層,是用戶所面向和關心的內容。 http協議 對應於應用層 tcp協議 對應於傳輸層 ip協議 對應於網路層 三者本質上沒有可比性。 何況HTTP協議是基於TCP連接的。 TCP/IP是傳輸層協議,主要解決數據如何在網路中傳輸;而HTTP是應用層協議,主要解決如何包裝數據。 我們在傳輸數據時,可以只使用傳輸層(TCP/IP),但是那樣的話,由於沒有應用層,便無法識別數據內容,如果想要使傳輸的數據有意義,則必須使用應用 層協議,應用層協議很多,有HTTP、FTP、TELNET等等,也可以自己定義應用層協議。WEB使用HTTP作傳輸層協議,以封裝HTTP文本信息, 然後使用TCP/IP做傳輸層協議將它發送到網路上。 Socket是對TCP/IP協議的封裝,Socket本身並不是協議,而是一個調用介面(API),通過Socket,我們才能使用TCP/IP協議。 Http和Socket連接區別 相信不少初學手機聯網開發的朋友都想知道Http與Socket連接究竟有什麼區別,希望通過自己的淺顯理解能對初學者有所幫助。 1、TCP連接 要想明白Socket連接,先要明白TCP連接。手機能夠使用聯網功能是因為手機底層實現了TCP/IP協議,可以使手機終端通過無線網路建立TCP連接。TCP協議可以對上層網路提供介面,使上層網路數據的傳輸建立在「無差別」的網路之上。 建立起一個TCP連接需要經過「三次握手」: 第一次握手:客戶端發送syn包(syn=j)到伺服器,並進入SYN_SEND狀態,等待伺服器確認; 第二次握手:伺服器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時伺服器進入SYN_RECV狀態; 第三次握手:客戶端收到伺服器的SYN+ACK包,向伺服器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和伺服器進入ESTABLISHED狀態,完成三次握手。 握手過程中傳送的包里不包含數據,三次握手完畢後,客戶端與伺服器才正式開始傳送數據。理想狀態下,TCP連接一旦建立,在通信雙方中的任何一方主 動關閉連接之前,TCP 連接都將被一直保持下去。斷開連接時伺服器和客戶端均可以主動發起斷開TCP連接的請求,斷開過程需要經過「四次握手」(過程就不細寫了,就是伺服器和客 戶端交互,最終確定斷開) 2、HTTP連接 HTTP協議即超文本傳送協議(HypertextTransfer Protocol ),是Web聯網的基礎,也是手機聯網常用的協議之一,HTTP協議是建立在TCP協議之上的一種應用。 HTTP連接最顯著的特點是客戶端發送的每次請求都需要伺服器回送響應,在請求結束後,會主動釋放連接。從建立連接到關閉連接的過程稱為「一次連接」。 1)在HTTP 1.0中,客戶端的每次請求都要求建立一次單獨的連接,在處理完本次請求後,就自動釋放連接。 2)在HTTP 1.1中則可以在一次連接中處理多個請求,並且多個請求可以重疊進行,不需要等待一個請求結束後再發送下一個請求。 由於HTTP在每次請求結束後都會主動釋放連接,因此HTTP連接是一種「短連接」,要保持客戶端程序的在線狀態,需要不斷地向伺服器發起連接請 求。通常的做法是即時不需要獲得任何數據,客戶端也保持每隔一段固定的時間向伺服器發送一次「保持連接」的請求,伺服器在收到該請求後對客戶端進行回復, 表明知道客戶端「在線」。若伺服器長時間無法收到客戶端的請求,則認為客戶端「下線」,若客戶端長時間無法收到伺服器的回復,則認為網路已經斷開。 3、SOCKET原理 3.1套接字(socket)概念 套接字(socket)是通信的基石,是支持TCP/IP協議的網路通信的基本操作單元。它是網路通信過程中端點的抽象表示,包含進行網路通信必須的五種信息:連接使用的協議,本地主機的IP地址,本地進程的協議埠,遠地主機的IP地址,遠地進程的協議埠。 應用層通過傳輸層進行數據通信時,TCP會遇到同時為多個應用程序進程提供並發服務的問題。多個TCP連接或多個應用程序進程可能需要通過同一個 TCP協議埠傳輸數據。為了區別不同的應用程序進程和連接,許多計算機操作系統為應用程序與TCP/IP協議交互提供了套接字(Socket)介面。應 用層可以和傳輸層通過Socket介面,區分來自不同應用程序進程或網路連接的通信,實現數據傳輸的並發服務。 3.2 建立socket連接 建立Socket連接至少需要一對套接字,其中一個運行於客戶端,稱為ClientSocket,另一個運行於伺服器端,稱為ServerSocket。 套接字之間的連接過程分為三個步驟:伺服器監聽,客戶端請求,連接確認。 伺服器監聽:伺服器端套接字並不定位具體的客戶端套接字,而是處於等待連接的狀態,實時監控網路狀態,等待客戶端的連接請求。 客戶端請求:指客戶端的套接字提出連接請求,要連接的目標是伺服器端的套接字。為此,客戶端的套接字必須首先描述它要連接的伺服器的套接字,指出伺服器端套接字的地址和埠號,然後就向伺服器端套接字提出連接請求。 連接確認:當伺服器端套接字監聽到或者說接收到客戶端套接字的連接請求時,就響應客戶端套接字的請求,建立一個新的線程,把伺服器端套接字的描述發 給客戶端,一旦客戶端確認了此描述,雙方就正式建立連接。而伺服器端套接字繼續處於監聽狀態,繼續接收其他客戶端套接字的連接請求。 4、SOCKET連接與TCP連接 創建Socket連接時,可以指定使用的傳輸層協議,Socket可以支持不同的傳輸層協議(TCP或UDP),當使用TCP協議進行連接時,該Socket連接就是一個TCP連接。 5、Socket連接與HTTP連接 由於通常情況下Socket連接就是TCP連接,因此Socket連接一旦建立,通信雙方即可開始相互發送數據內容,直到雙方連接斷開。但在實際網 絡應用中,客戶端到伺服器之間的通信往往需要穿越多個中間節點,例如路由器、網關、防火牆等,大部分防火牆默認會關閉長時間處於非活躍狀態的連接而導致 Socket 連接斷連,因此需要通過輪詢告訴網路,該連接處於活躍狀態。 而HTTP連接使用的是「請求—響應」的方式,不僅在請求時需要先建立連接,而且需要客戶端向伺服器發出請求後,伺服器端才能回復數據。 很多情況下,需要伺服器端主動向客戶端推送數據,保持客戶端與伺服器數據的實時與同步。此時若雙方建立的是Socket連接,伺服器就可以直接將數 據傳送給客戶端;若雙方建立的是HTTP連接,則伺服器需要等到客戶端發送一次請求後才能將數據傳回給客戶端,因此,客戶端定時向伺服器端發送連接請求, 不僅可以保持在線,同時也是在「詢問」伺服器是否有新的數據,如果有就將數據傳給客戶端。
Ⅹ IOS中自定義一個協議,怎麼才能設定這個協議在什麼時候觸發呢
你自定義一個協議,那麼當然是在你要引用到這個協議的方法才會觸發,比如說你定義了textfieldDelegate協議,那麼就是你有textfield並且點擊輸入處理到了的時候,就會觸發了。跟默認的協議觸發一樣的
