关于请求在socket通讯中的处理
发布于 5 年前 作者 SKandAV 4386 次浏览 来自 问答

先上一张图 ![9)GNYX{]RZ6I@U}U@]C3MZK.png](//static.cnodejs.org/FjSeKic_CEReOAgSiMJqGIrvFwxc) 小弟目前的业务需要用到socket,即一个请求需要通过socket到客户端获取数据在返回到主服务端。而且是有多个客户端。即一对多。 业务模式为:

  1. 创建socket var server = net.createServer(function (socket) {}); server.listen(xxx); server.on(‘connection’, function (socket) { socket.on(‘data’, function (data) { … } }

2.前端get请求:/index
3.node express 设置路由 router.get(/index, (req, res) => { … 到这里需要通过socket到客户端获取数据, getData() getdata() 方法为一个通用的到发送socket的命令的函数 })

  1. 从socket 客户端返回的数据会触发socket.on(‘data’, function (data) 在这边获取。然后返回到前台 问题1.当多个客户端时,怎么处理。我这边目前的想法是没当建立一个新的客户端连接,将其socket相关保存到。当发送各个客户端socket时获取。 问题2.当客户端通过socket返回数据到服务端时,如何把数据返回到前台。正常的返回到前端的操作如res.json(xxx)等。但是在socket.on(‘data’, function (data)监听中并无res对象,如在阶段3中保存res到全局可完成,但是有内存泄露的问题。 水平有限,表达的可能有问题。不知道老哥们是否明白。小弟再此磕头了,砰砰砰砰!!!望指导
回到顶部