iOS開發(fā)之網(wǎng)絡(luò)編程之CocoaAsyncSocket

一议薪,第三方框架介紹

在app開發(fā)過(guò)程中用的最多的是http/https(其實(shí)是用tcp/IP實(shí)現(xiàn)的)罐孝,大部分功能是獲取數(shù)據(jù)陵叽,顯示數(shù)據(jù),用戶主動(dòng)請(qǐng)求的一對(duì)一模式丛版,服務(wù)器不能主動(dòng)的向app發(fā)送數(shù)據(jù)巩掺。tcp/IP是面向鏈接,穩(wěn)定页畦,數(shù)據(jù)流(無(wú)邊界)的胖替,后面我們會(huì)根據(jù)這些特性來(lái)編寫代碼。常用的第三方框架有2種豫缨,一種基于NSRunloop独令,一種基于GCD,后面說(shuō)的都是用基于NSRunloop的CocoaAsyncSocket.https://github.com/robbiehanson/CocoaAsyncSocket

二好芭,項(xiàng)目中使用的接口及協(xié)議回調(diào)

項(xiàng)目中要用的的APi

1燃箭,- (id)initWithDelegate:(id)delegate;初始化并設(shè)置委托

2舍败,- (BOOL)connectToHost:(NSString*)hostname onPort:(UInt16)port error:(NSError**)errPtr招狸;根據(jù)ip及端口鏈接服務(wù)器;

3瓤湘,- (void)writeData:(NSData*)data withTimeout:(NSTimeInterval)timeout tag:(long)tag瓢颅;發(fā)送數(shù)據(jù);

4弛说,- (void)disconnect挽懦;斷開鏈接;

上面提到了設(shè)置委托木人,要實(shí)現(xiàn)以下委托方法

1信柿,- (void)onSocket:(AsyncSocket*)sock didConnectToHost:(NSString*)host port:(UInt16)port;建立連接成功后回調(diào)醒第;

2渔嚷,-(void) onSocket:(AsyncSocket*)socket willDisconnectWithError:(NSError*)err;連接斷開后回調(diào)稠曼;

3形病,-(void) onSocket:(AsyncSocket*)sock didReadData:(NSData*)data withTag:(long)tag;接收數(shù)據(jù)回調(diào)霞幅;

三漠吻,CocoaAsyncSocket的使用方法

1.將下載好的三方RunLoop文件夾下的AsyncSocket.h, AsyncSocket.m, AsyncUdpSocket.h, AsyncUdpSocket.m 文件拷貝到自己的project中,添加CFNetwork.framework. (當(dāng)然了司恳,你也可以自己用Cocoapods進(jìn)行配置途乃,只要你開心就好.)

2.先繼承于NSObject創(chuàng)建個(gè)單例,命名為Singleton


Singleton.h


Singleton.m

3.運(yùn)用懶加載創(chuàng)建AsyncSocket


4.通訊協(xié)議每個(gè)公司都不一樣扔傅,在這我就不一一舉例了耍共。

具體想實(shí)現(xiàn)什么功能就去上面查找具體方法即可烫饼。


eg 給后臺(tái)發(fā)送數(shù)據(jù)的方法

附上接收數(shù)據(jù)

接收數(shù)據(jù)

四.還有沒(méi)說(shuō)明白的大家可以加我的ios開發(fā)QQ群163619240



Apple Developer
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市试读,隨后出現(xiàn)的幾起案子杠纵,更是在濱河造成了極大的恐慌,老刑警劉巖钩骇,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件淡诗,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡伊履,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門款违,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)唐瀑,“玉大人,你說(shuō)我怎么就攤上這事插爹『謇保” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵赠尾,是天一觀的道長(zhǎng)力穗。 經(jīng)常有香客問(wèn)我,道長(zhǎng)气嫁,這世上最難降的妖魔是什么当窗? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮寸宵,結(jié)果婚禮上崖面,老公的妹妹穿的比我還像新娘。我一直安慰自己梯影,他們只是感情好巫员,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著甲棍,像睡著了一般简识。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上感猛,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天七扰,我揣著相機(jī)與錄音,去河邊找鬼唱遭。 笑死戳寸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拷泽。 我是一名探鬼主播疫鹊,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼袖瞻,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了拆吆?” 一聲冷哼從身側(cè)響起聋迎,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎枣耀,沒(méi)想到半個(gè)月后霉晕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡捞奕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年牺堰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颅围。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡伟葫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出院促,到底是詐尸還是另有隱情筏养,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布常拓,位于F島的核電站渐溶,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏弄抬。R本人自食惡果不足惜茎辐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望眉睹。 院中可真熱鬧荔茬,春花似錦、人聲如沸竹海。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)斋配。三九已至孔飒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間艰争,已是汗流浹背坏瞄。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留甩卓,地道東北人鸠匀。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像逾柿,于是被迫代替她去往敵國(guó)和親缀棍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子宅此,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容