iOS之GCDAsyncUdpSocket

上周說的是tcp socket,這周就來說說udp socket。先介紹下Demo库说,此次的Demo是用以前看黑馬視頻寫的一個(gè)仿QQ聊天的Demo,以它為背景,使用udpSocket,自己給自己發(fā)送消息.

同樣不說原理了,直接解釋代碼:

準(zhǔn)備工作

#import "GCDAsyncUdpSocket.h"遵守協(xié)議<GCDAsyncUdpSocketDelegate>聲明一個(gè)屬性@property (strong, nonatomic)GCDAsyncUdpSocket * udpSocket;

創(chuàng)建Socket
_udpSocket = [[GCDAsyncUdpSocket alloc]initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
監(jiān)聽接口&接收數(shù)據(jù)[1]
    NSError * error = nil;
    [_udpSocket bindToPort:udpPort error:&error];
    if (error) {//監(jiān)聽錯(cuò)誤打印錯(cuò)誤信息
        NSLog(@"error:%@",error);
    }else {//監(jiān)聽成功則開始接收信息
        [_udpSocket beginReceiving:&error];
    }
udp不用連接,故直接發(fā)送數(shù)據(jù)
[_udpSocket sendData:sendData toHost:ipAddress port:udpPort withTimeout:-1 tag:0];

對(duì)于toHost的參數(shù)ipAddress我說明一下,NSString * ipAddress = [self deviceIPAdress];[self deviceIPAdress]方法就是獲取ip地址撑帖,具體可參見我另一篇文章《獲取iOS設(shè)備信息(內(nèi)存/電量/容量/型號(hào)/IP地址)

看看發(fā)送數(shù)據(jù)結(jié)果://此為GCDAsyncUdpSocket代理方法
- (void)udpSocket:(GCDAsyncUdpSocket *)sock didSendDataWithTag:(long)tag
{
    NSLog(@"發(fā)送信息成功");
}

- (void)udpSocket:(GCDAsyncUdpSocket *)sock didNotSendDataWithTag:(long)tag dueToError:(NSError *)error
{
    NSLog(@"發(fā)送信息失敗");
}
發(fā)送成功就該接收數(shù)據(jù)了://此為GCDAsyncUdpSocket代理方法
- (void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data fromAddress:(NSData *)address withFilterContext:(id)filterContext
{
    NSLog(@"接收到%@的消息:%@",address,data);//自行轉(zhuǎn)換格式吧
}

udp果然還是比tcp簡(jiǎn)單很多啊豌拙,到這里就結(jié)束了驻呐,最后是Demo,歡迎大家Star.

版權(quán)聲明:本文為 Crazy Steven 原創(chuàng)出品毁渗,歡迎轉(zhuǎn)載践磅,轉(zhuǎn)載時(shí)請(qǐng)注明出處!


  1. 接收信息有兩種方法,[_udpSocket receiveOnce:&error]此方法是一條一條數(shù)據(jù)接收,用途往往是先發(fā)廣播,接收到信息后使用TCP進(jìn)行長連接灸异,故只接收一條數(shù)據(jù)即可府适。[_udpSocket beginReceiving:&error]此方法是持續(xù)接收,像本Demo是用來聊天,自然是要持續(xù)接收信息,故使用此方法進(jìn)行接收數(shù)據(jù)。 ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末肺樟,一起剝皮案震驚了整個(gè)濱河市檐春,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌么伯,老刑警劉巖疟暖,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異田柔,居然都是意外死亡俐巴,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門硬爆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來欣舵,“玉大人,你說我怎么就攤上這事缀磕≡等Γ” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵袜蚕,是天一觀的道長准验。 經(jīng)常有香客問我,道長廷没,這世上最難降的妖魔是什么糊饱? 我笑而不...
    開封第一講書人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮颠黎,結(jié)果婚禮上另锋,老公的妹妹穿的比我還像新娘滞项。我一直安慰自己,他們只是感情好夭坪,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開白布文判。 她就那樣靜靜地躺著,像睡著了一般室梅。 火紅的嫁衣襯著肌膚如雪戏仓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評(píng)論 1 299
  • 那天亡鼠,我揣著相機(jī)與錄音赏殃,去河邊找鬼。 笑死间涵,一個(gè)胖子當(dāng)著我的面吹牛仁热,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播勾哩,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼抗蠢,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了思劳?” 一聲冷哼從身側(cè)響起迅矛,我...
    開封第一講書人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎潜叛,沒想到半個(gè)月后诬乞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡钠导,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了森瘪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牡属。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖扼睬,靈堂內(nèi)的尸體忽然破棺而出逮栅,到底是詐尸還是另有隱情,我是刑警寧澤窗宇,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布措伐,位于F島的核電站,受9級(jí)特大地震影響军俊,放射性物質(zhì)發(fā)生泄漏侥加。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一粪躬、第九天 我趴在偏房一處隱蔽的房頂上張望担败。 院中可真熱鬧昔穴,春花似錦、人聲如沸提前。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽狈网。三九已至宙搬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拓哺,已是汗流浹背勇垛。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拓售,地道東北人窥摄。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像础淤,于是被迫代替她去往敵國和親崭放。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

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

  • 個(gè)人認(rèn)為鸽凶,Goodboy1881先生的TCP /IP 協(xié)議詳解學(xué)習(xí)博客系列博客是一部非常精彩的學(xué)習(xí)筆記币砂,這雖然只是...
    貳零壹柒_fc10閱讀 5,054評(píng)論 0 8
  • ———————————————回答好下面的足夠了---------------------------------...
    恒愛DE問候閱讀 1,716評(píng)論 0 4
  • 1.這篇文章不是本人原創(chuàng)的,只是個(gè)人為了對(duì)這部分知識(shí)做一個(gè)整理和系統(tǒng)的輸出而編輯成的玻侥,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,063評(píng)論 6 174
  • 1.寫一個(gè)NSString類的實(shí)現(xiàn) +(id)initWithCString:(c*****t char *)nu...
    韓七夏閱讀 3,765評(píng)論 2 37
  • 本文出自 Eddy Wiki 决摧,轉(zhuǎn)載請(qǐng)注明出處:http://eddy.wiki/interview-java.h...
    eddy_wiki閱讀 2,115評(píng)論 0 14