前言

  • Socket

    • Socket 是對 TCP/IP 協(xié)議的封裝,其中IP協(xié)議對應為網(wǎng)絡層,TCP 協(xié)議對應為傳輸層,而我們常用的HTTP協(xié)議,是位于應用層,在七層模型中HTTP協(xié)議是基于 TCP/IP 的,我們想要使用 TCP/IP 協(xié)議,則要通過 Socket

  • Socket 編程用途(其他待補充)

    • 長連接

    • 端到端的即時通訊

  • Socket 和 Http(來源網(wǎng)絡)

    • socket 一般用于比較即時的通信和實時性較高的情況,比如推送,聊天,保持心跳長連接等,http 一般用于實時性要求不那么高的情況,比如信息反饋,圖片上傳,獲取新聞信息等。

二、類似《你猜我畫》簡易效果說明

  • 效果(分別是模擬器和手機截圖)
    移動開發(fā)培訓,Android培訓,安卓培訓,手機開發(fā)培訓,手機維修培訓,手機軟件培訓
    移動開發(fā)培訓,Android培訓,安卓培訓,手機開發(fā)培訓,手機維修培訓,手機軟件培訓

  • 工作中碰到類似需求,但沒找到類似的成熟的第三方框架,只有先看看原理性的東西了。其實也就基于 socket 即時傳輸圖片數(shù)據(jù)、筆畫數(shù)據(jù),還有聊天文字,也可以拓展做其他的指令控制

  • 沒有做注冊登錄,沒有做用戶管理,只是簡單原理性的探討

  • 基于 GCDAsyncSocket 框架進行,關于 GCDAsyncSocket 的介紹可自行了解

三、服務端部分代碼

  • 直接用 mac 程序作為服務端

    • Server 類

/*!
 @method  開啟服務
 @abstract 開啟服務器 TCP 連接服務
 */- (void)startServer {    self.serverSocket = [[GCDAsyncSocket alloc]initWithDelegate:self
                                                    delegateQueue:dispatch_get_main_queue()];                &
        
		

網(wǎng)友評論