This topic created in 4713 days ago, the information mentioned may be changed or developed.
现在有个程序处理流程如下:
1.Client 发包A到 Server
2.Server预处理(入库,入队列等),返回B
3.后台进程,处理队列中的数据,
4.Server定时队列中查早已经处理完的数据主动发C包给Client,通知结果。
其中C/S非常繁忙。
Q:
1.在什么位置放置 Server 主动发包的逻辑,什么方式实现?保存所有连接Timer外,还有什么方法?
2.处理发送C包的时候会否阻塞其他处理逻辑?
3.(如果不存在2)是否可能造成包混乱是 -- Server同时发B和C,在Client中接收是否会有问题
另外,我了解了下node是单线程的,那么同时收到多个连接的包时,是不是只能顺序一个个处理完再下一个?如果每个包处理时间很长那么不是造成处理能力低下?
(以前C写这些东西select后一般fork一个新进程处理)
Node.js新手,请指教,谢谢。
..早上发现以上问题如何找google关键字都不会,:(
6 replies 1970-01-01 08:00:00 +08:00  | | 1 ForgotFun Jun 6, 2013 想要主动发数据给客户端,那你必须保持着条连接不断开。不然你得用UDP打洞了。 |
 | | 2 ywu Jun 6, 2013 |
 | | 3 lookhi Jun 6, 2013 都是C/S了。 让C那边发了后就不管,间隔一段时间来检查下发后的处理情况。 S这边提供一个Query借口就好了。 不用长链接了 |
 | | 5 zieglar Jun 6, 2013 mq配合socketio呗 |
 | | 6 phpuser Jun 10, 2013 谢谢各位,最后在各种事件定义后面加了个Timer,暂时满足要求。 |