首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX
›
sodawy
›
全部回复第 1 页 / 共 1 页
回复总数
2
2017-12-23 13:22:37 +08:00
回复了
a251922581
创建的主题
›
Node.js
›
请教一般 ajax 调用改写为 ipc 调用怎么处理比较好? Electron 环境,因为搭本地 ajax 服务器端的话要开放防火墙
本地环境的 ipc 性能应该会 http 好不少吧,libuv 还会帮你屏蔽 os 差异。
node 的 ipc send 方法,确实没有回传机制。
建议楼主,在进程间 send 上自己再包装一层,两边进程都会 send,都要 on('message'),然后可以给每个消息加上 id,标明类型。然后就是对 message 的打包和拆包。这样实现完了中间层,起始业务代码,改动并不大。
2017-12-23 13:01:20 +08:00
回复了
inkWave
创建的主题
›
Node.js
›
如何用 node.js 统计用户访问时间
1、node 是如何做到请求之间变量互不干扰的? node 默认时是单进程单线程在处理请求(我们先不谈 cluster 和 threadpool ),单线程内的 eventloop 中有个 i/o callback 的 queue,每个请求来了之后就会进这个 q,eventloop 处理到 i/o callback 这个阶段时,就会从这个 queue 里取请求依次运行其 handler,由于每个请求都在自己的 function 上下文中(运行栈),变量是互相隔离的。
2、如何实现,用户来了之后,一直在服务器端打印? 问题 1 中说了,每个请求 function 运行时互相隔离的,请求结束了,这个 function 堆栈中的变量就访问不到了。但楼主想请求结束了,还一直打印(直到另一个请求来了,告诉我停止打印)。你可以用 setInterval 不停打印,然后把这个 timer 句柄保存在一个进程级全局的变量(process\global)或存储(file\db)中,收到用户走了的请求后,根据用户 id,找到这个 timer 句柄(其实就是一个整数),clearInterval 掉就可以了。
3、如何设计前后端的交互? 前端想清楚如何判定啥时候用户来了、走了,如何标识同一个用户,并把这些信息通过 http 或 ws 发给后端。
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
2864 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms ·
UTC 12:18
·
PVG 20:18
·
LAX 04:18
·
JFK 07:18
Developed with
CodeLauncher
♥ Do have faith in what you're doing.