携手创造,一起成长!这是我参与「日新方案 8 月更文应战」的第23天,点击检查活动概况

前语

  1. 使用场景:app端集成CocoaAsyncSocket与服务端进行通讯,使用完成机器人功用。

根据 CFSocket、GCD 进行的封装,支持 TCP 和 UDP。

  1. 即时通讯的大数据处理逻辑:多线程逐条处理,你也能够选用事务处理聊天记录大数据,但如果发生错误需求全部回滚。

创立NSBlockOperation 放到NSOperationQueue异步履行。

系统会自动将NSOperationQueue中的NSOperation取出,将取出的NSOperation封装的操作放到一个新的线程中履行。

  1. 注意事项:socket不推荐放在主行列
 [[GCDAsyncSocket alloc] initWithDelegate:delegate delegateQueue:dispatch_get_main_queue()];

推荐自定义一个串行行列。

iOS小技能:Socket基础知识

I 知识储备

1.1 长衔接

  • http恳求:

每次更新数据都要向对应的端口发送一次恳求,之后返回数据之后封闭衔接

  • 长衔接

客户端和服务器一向连着,当有数据更新的时分,服务器会直接发给客户端,不需求客户端主动恳求。(client 需求监听流的输入) ps:在这过程中,为了确保服务端和客户端一向是衔接状态,客户端会守时不间断的发送心跳数据到服务器,表明还衔接着,否则长期没有数据更新,会断开衔接,这样一向有心跳数据的时分,就会确保了衔接没有中止,至于心跳数据的内容,便是前端后端一起商议的,和恳求的数据是独自的。(一般选用nstimer)

  • 短衔接,并行衔接,耐久衔接与长衔接

blog.csdn.net/z929118967/…

1.2 tweak是什么?

tweak的实质便是ios渠道的动态库。IOS渠道上有两种局势的动态库,dylib与framework。Framework这种开发者用的比较多,而dylib这种就相对比较少一点,比方libsqlite.dylib,libz.dylib等。而tweak用的正是dylib这种局势的动态库。

越狱开发中,各种破解补丁的统称为Tweak。iOS tweak 基本上都依赖于cydia Substrate的动态库, Substrate是Cydia 作者Jay Freeman 的著作,它的主要功用是hook某个App修改代码,比方替换其中方法的完成;Cydia上的tweak都是根据Mobile Substrate完成的。

iPhone:~ root# cd /Library/MobileSubstrate/DynamicLibraries

我们能够在设备的/Library/MobileSubstrate/DynamicLibraries目录下检查手机上存在着的一切tweak。这个目录下除dylib外还存在着plist与bundle两种格式的文件,plist文件是用来标识该tweak的作用规模,而bundle是tweak所用到的资源文件。

those的安装

blog.csdn.net/z929118967/…

II 案例:iOS tweak 集成CocoaAsyncSocket

建连、断开、重连、心跳、通用恳求

【使用场景:微信机器人】

see also

进程间的实时通讯方案: local socket(处理扩展和容器使用的实时通讯问题)

iOS小技能:Socket基础知识

联络作者: iOS逆向(公号:iosrev)


作者简介:CSDN 博客专家认证丨全站 Top 50、华为如此享专家认证、iOS逆向公号号主


简历模板、技术合作。关注我,都给你。