我的思路: socket接收到一个消息就加入消息队列,后台挂一个线程循环检测消息队列,取消息进行粘包解析,如果解析出一条正确消息则发送给应用程序。
请问大神们这种思路是否可以,如果可以,但是我不知道后台线程设置个多少睡眠来检测一次
50到100毫秒应该能接受。
检测到队列不空,则分包,继续检测,
当检测为空时,休息50毫秒。
那么最大延时可以认为就是50毫秒。
我先试试吧
很久之前我也是这么做了一个东西出来,后来想想,我更倾向于做一个线程向服务器请求消息。。。。
socket接收消息本身就是多线程的。
只是如果你在线程处理过程中,需要进行比较耗时的工作,或者需要操作的数据可能会有前后顺序问题,
这些要考虑如何处理。