iOS即時通訊(一)- Socket( 插座)

Socket

  • Socket又稱“套接字”
  • 網絡上的兩個程序通過一個雙向的通信連接實現數據的交換,這個連接的一端稱為socket
  • 應用程序通常通過“套接字”向網絡發(fā)出請求或者應答網絡請求
Socket.png

網絡通信的要素

  • 網絡上的請求就是通過Socket來建立連接然后互相通信
  • IP地址(網絡上主機設備的唯一標識)
  • 端口號(定位程序)
  • 用于標示進程的邏輯地址,不通進程的標示
  • 有效端口:065535,其中01024是由系統(tǒng)使用或者保留端口,開發(fā)中建議使用1024以上的端口
  • 傳輸協(xié)議(用什么樣的方式進行交互)
  • 通訊的規(guī)則
  • 常見協(xié)議:TCP、UDP

TCP&UDP

TCP(Transmission Control Protocol,傳輸控制協(xié)議)

  • 建立連接,形成傳輸數據的通道
  • 在連接中進行大數據傳輸(數據大小不做限制)
  • 通過三次握手完成連接,是可靠協(xié)議,安全送達
  • 必須建立連接,效率會稍低

對于TCP三次握手可以理解為打電話,撥電話(第一次握手),對方接電話(掛斷導致第二次握手失?。?,互相問候(如果單方面,認為第三次握手失?。?。

UDP (User Data Protocol,用戶數據報協(xié)議)

  • 將數據及源和目的的封裝成數據包中,不需要建立連接
  • 每個數據報的大小限制在64k之內
  • 因為無需連接,因此是不可靠協(xié)議
  • 不需要建立連接,速度快

對于UDP可以理解為發(fā)短信,不需要知道對方開機、還是關機、還是停機;如果短信次數超過70條直接掛機,無法知道短信什么時候到達。

Socket通信流程

Socket通信流程圖.png

實現Socket服務端接聽

實現socket的監(jiān)聽方法

  • 使用C語言實現
  • 使用CocoaAsyncSocket第三方框架,內部是對C的封裝

Telnet命令telnet host port/telnet 192.168.10.10 5288

  • telnel命令是監(jiān)聽服務器上否個端口對應的服務有沒有開啟

Socket 層上的協(xié)議

  • Socket層上的協(xié)議指的數據傳輸的格式
  • HTTP協(xié)議(HyperText Transfer Protocol),超文本傳輸協(xié)議)
    傳輸格式,假設:這是建設,實際http的格式不是這樣的。http1.1,content-type:multipart/form-data,content-lenth:188,body:username=zhangsan&password=123456
  • XMPP協(xié)議,是一款即時通訊協(xié)議(Extensible Messaging and Presence Protocol,可擴展消息處理現場協(xié)議)
    是基于XML(Extensible Markup Language,可擴展標示語言)的協(xié)議,它用于IM(Instant Messaging,即時通訊)以及在線現場探測。這個洗衣可能最終允許因特網用戶向因特網上的其他任何人發(fā)送即時消息
傳輸格式.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 簡介 用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據使用者...
    保川閱讀 6,061評論 1 13
  • 1.1 TCP/IP協(xié)議組 TCP/IP協(xié)議(傳輸控制協(xié)議)由網絡層的IP協(xié)議和傳輸層的TCP協(xié)議組成 IP層負責...
    F麥子閱讀 2,914評論 0 25
  • 網絡概念第一天 兩臺電腦怎么通過網絡傳輸數據?怎樣才能知道傳輸的是數據?誰摸過網線? 看電影,怎么看的?通過電流,...
    小吖朱閱讀 1,644評論 0 1
  • 前言 前段時間使用XMPPFramework完成了一個仿微信的小項目,故特此來記錄下即時通訊開發(fā)過程中的知識點以及...
    音符上的碼字員閱讀 3,702評論 1 18
  • 今天的快遞哥真給力,冒雨把漢服以及配飾、鞋子等都送到了家,我邊琢磨邊嘗試著竟然把衣服穿上了身,短發(fā)不太好打理,只得...
    jasmine南京閱讀 468評論 0 0

友情鏈接更多精彩內容