站长提醒:徒弟们注意了,大家总觉得《数据结构》学了没有用,只知道《数据结构》名气大,但没有体会到它的作用之大。这里就有一个十分生动的例子,告诉你《数据结构》是有大用的。服务器的并发连接数的本质就是《数据结构》中的队列的长度。《数据结构》因为抽象,所以大家感觉用处不大,但是将抽象的东西落地到生活的场景之时,你才会发现《数据结构》的伟大。我希望通过此文,你能领略队列的伟大,从而激发《数据结构》的学习兴趣。

并发连接数,本质上就是Socket队列的长度。也就是说,服务器上建立了多少Socket,就能承担多少客户端的访问。

Socket队列的工作原理如下所示:

第一步:服务器生成Socket

第二步:服务器Socket开始监听,这个Socket是【监听Socket】

第三步:客户端生成Socket

第四步:客户端Socket开始链接服务器>>>

第五步:服务器【监听Socket】接受到客户端Socket 链接,然后再新生成一个【链接Socket】,这个【链接Socket】负责与客户端Socket进行数据交换,而【监听Socket】继续负责监听,它只负责监听。注意:此时服务器端存在两类Socket,分工不同,各司其职。

第六步:服务器的【链接Socket】排成一个队列,这个队列的长度就是当前服务器的并发连接数。

第七步:服务器通过Select、Poll、Epoll的方式去不断地轮询这个队列,从而与客户端进行数据的交互。

标签: none

添加新评论