socket大致流程

(C++对苹果的socket库进行了二次封装,生成一个新的socket类,我们就使用这个socket类。基本步骤就是:1先设置需要连接的IP地址和端口号,同时设置一些连接成功,错误,中断的回调函数,已经连接超时时间等参数。2接下来创建一个新的线程进行socket连接,连接成功,失败或中断都会设置当前的连接状态。连接的同时会创建一个计时器,每桢会根据当前的连接状态进行不同的操作,连接失败或中断则进行重新连接。3连接成功之后在socket成功的状态下执行一个无限循环,在循环当中执行一个recieve的操作,从来接受后端推送的消息,当接受到新的推送后,会更新最新的数据,刚才创建的计时器检测到该数据改变后会调用lua注册在c中的函数执行对应得操作。

客户端也可以调用socket的send函数执行对应发送数据。

因为socket是长连接所以需要确定是否在连接状态,lua 中的 在连接socket成功后 会启动一个定时器,没间隔N秒调用一次socket:send()函数发送心跳包,以确定socket在连接状态,若过N秒后没有得到后端回复则认为断开连接,然后重新连接,若得到后端回复则认为在连接状态,然后启动一下一个定时器N秒后再次发送心跳包。)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容