? ? SRWebSocket是FaceBook提供的,一個(gè)iOS端常用的websocket框架。這個(gè)框架的好處是欠动,解決了一般的websocket框架中永乌,粘包、斷包的問(wèn)題具伍,這個(gè)問(wèn)題完全不用開(kāi)發(fā)人員關(guān)注翅雏,拿到的消息都是完整的。關(guān)于SRWebSocket的源碼解析可以參考:http://www.reibang.com/p/cdb7a886789a人芽。
? ? 本篇主要介紹在SRWebSocket的實(shí)際應(yīng)用中望几,應(yīng)該如何使用框架來(lái)完成WSS的驗(yàn)證。
? ? 可能有的同學(xué)不了解WSS和WS的區(qū)別萤厅,或者WSS和HTTPS的區(qū)別橄抹,請(qǐng)參考這里:https://blog.csdn.net/gmq_syy/article/details/80151129靴迫。
? ? 首先,需要后端提供支持WSS的端口楼誓,這樣我們創(chuàng)建連接的時(shí)候玉锌,url類(lèi)似這樣:wss://{host}:{port}/path......。
? ? 然后疟羹,創(chuàng)建一個(gè)NSMutableURLRequest主守,根據(jù)框架提供的類(lèi)擴(kuò)展NSMutableURLRequest (SRCertificateAdditions)方法,將證書(shū)文件數(shù)組設(shè)置進(jìn)去? - (void)setSR_SSLPinnedCertificates:(NSArray *)SR_SSLPinnedCertificates;?
? ? 最后榄融,創(chuàng)建SRWebSocket實(shí)例:self.socket = [[SRWebSocket alloc]initWithURLRequest:request];
? ? 這樣参淫,框架會(huì)自動(dòng)使用證書(shū)來(lái)進(jìn)行SSL驗(yàn)證。