对于socket,自己原来的知识还是太少了,直接看AllServer上面关于网络这块的代码,根本看不懂,所以,没有办法,就专门花时间来学习socket,从最初级的开始,往完成端口方向靠拢,实现客户端与服务器的连接,相互发送数据很快就完成了,但有一个问题,就是服务器无法在连接状态下,主动接收客户端的消息,这个和我知道的不一样,所以再去AllServer中查看源码,看来看去,发现它使用的select函数,但此时还是不明白select是干嘛用的,也对它无感,然后又在网上看到想实现服务器端能随时接收客户端发送的消息的方法是从新弄一个新的socket,这种方式显然不可取,慢慢的对select函数有了一点感觉,知道要解决这个问题,最大的可能就是使用它了,然后查询资料,一步步的,终于实现了服务器非阻塞,实时侦听客户端发送的消息,当然,客户端也实现了实时侦听服务器发送的消息,技术的关键在于select的使用,它用轮询的方式,不断检测套接字的状态,进而实现上述功能,后面要实现的是在使用完成端口的情况下实现服务器非阻塞,实时侦听客户端的数据。
socket长连接测试成功
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 2016.7.4 今天晚上对项目顶层文件(daemon)进行了分析,对其中的TCP连接进行具体的代码级分析。 1、...