请问socket如何非阻塞?

我现在的项目需求是,需要给多个用户 (浏览器客户端) 推送 物体的轨迹,即每隔几秒推一次坐标 那么地图上的物体移动一次,但是有个问题就是当我在给一个客户端 A 推送的时,同时在新打开一个客户端 B 那么就会无法连接 直到 A 推送完,请问这个问题怎么解决啊?

推送代码 (这个文件是由一个守护进程执行的,)

代码已被折叠,点此展开

A 客户端画面

请问socket如何非阻塞?

B 客户端

请问socket如何非阻塞?

UKNOW
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 3

每个连接进来都要简历一个新的线程,子线程和用户沟通,主线程负责接收连接

4年前 评论

用 libeven 吧

4年前 评论

看了一下代码是单进程、非阻塞、select 模型实现的 io 复用。不过设置非阻塞的一行应该放错地方了,较好的实现 io 复用,是使用 php 的 event 扩展。swoole/workman 简单容易,何必费劲原生撸?

4年前 评论