使用WebSocket進(jìn)行長(zhǎng)連接通信

主要使用的是CocoaAsyncSocket

集成就不說了,打開workspace

1.在build phases中加入編譯源

2.引入頭文件

#import<GCDAsyncSocket.h>

@property(nonatomic,retain)GCDAsyncSocket *socket;//定義一個(gè)Socket對(duì)象

3.遵守協(xié)議<GCDAsyncSocketDelegate>

4.初始化

self.socket =[[GCDAsyncSocketalloc]initWithDelegate:selfdelegateQueue:dispatch_get_global_queue(0,0)];

5.連接服務(wù)器

[self.socket connectToHost:host onPort:port error:&error]//返回值是BOOL類型的

6.發(fā)送數(shù)據(jù)

[self.socketwrite Data:msg DatawithTimeout:30 tag:123];//msg為Data類型

7.各協(xié)議使用

//成功鏈接到服務(wù)器后會(huì)回調(diào)的方法

- (void)socket:(GCDAsyncSocket*)sock didConnectToHost:(NSString*)host port:(uint16_t)port{

? //NSLog("Connect ?to the server successfully!");

//Or do something

}

//接收數(shù)據(jù)完成后會(huì)回調(diào)的方法

- (void)socket:(GCDAsyncSocket*)sock didReadData:(NSData*)data withTag:(long)tag;

//接收過程中會(huì)回調(diào)的方法? 主要用于查看接收進(jìn)度

- (void)socket:(GCDAsyncSocket*)sock didReadPartialDataOfLength:(NSUInteger)partialLength tag:(long)tag;

//發(fā)送數(shù)據(jù)完成后會(huì)回調(diào)的方法

- (void)socket:(GCDAsyncSocket*)sock didWriteDataWithTag:(long)tag;

//發(fā)送過程中會(huì)回調(diào)的方法 ?主要用于查看發(fā)送進(jìn)度

//當(dāng)某一讀/寫(下一個(gè)方法)任務(wù)達(dá)到超時(shí)時(shí)間,但還沒有完成時(shí),用于給當(dāng)前任務(wù)增加超時(shí)時(shí)間的方法(如果不實(shí)現(xiàn)該方法,任務(wù)會(huì)正常超時(shí)結(jié)束)

- (NSTimeInterval)socket:(GCDAsyncSocket*)sock shouldTimeoutReadWithTag:(long)tag?elapsed:(NSTimeInterval)elapsed?bytesDone:(NSUInteger)length;

- (NSTimeInterval)socket:(GCDAsyncSocket*)sock shouldTimeoutWriteWithTag:(long)tag?elapsed:(NSTimeInterval)elapsed?bytesDone:(NSUInteger)length;


先寫到這吧,以后慢慢加

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • iPhone的標(biāo)準(zhǔn)推薦是CFNetwork 庫編程,其封裝好的開源庫是 cocoa AsyncSocket庫,用它...
    Ethan_Struggle閱讀 2,366評(píng)論 2 12
  • 轉(zhuǎn)載:http://www.cocoachina.com/ios/20170615/19529.html 參考:h...
    F麥子閱讀 4,142評(píng)論 3 2
  • iPhone的標(biāo)準(zhǔn)推薦是CFNetwork 庫編程,其封裝好的開源庫是 cocoa AsyncSocket庫,用它...
    夜殤丶夜逝閱讀 4,156評(píng)論 1 23
  • 以流的方式處理IM通訊問題好處是無需多次建立連接,另外消息的網(wǎng)絡(luò)開銷少,而xmpp會(huì)有很多冗余的信息; 使用開源項(xiàng)...
    sea777777閱讀 2,464評(píng)論 0 8
  • 男人與女人 王漢文 男人與女人 是上帝做的一對(duì)藝術(shù)品 就像是鏍桿與鏍帽 天生一對(duì),缺一不可 越擰越緊,完美結(jié)合 男...
    王漢文閱讀 583評(píng)論 6 4

友情鏈接更多精彩內(nèi)容