为了账号安全,请及时绑定邮箱和手机立即绑定

nodejs怎么通过TCP接受到数据,然后通过socket.io发给前端

nodejs怎么通过TCP接受到数据,然后通过socket.io发给前端

郎朗坤 2018-12-29 16:14:44
主要是想TCP接收到数据后,直接通过websocket发给前端,试了发给前端的是undefind,不知道哪里出问题var app = require('http').createServer()var io = require('socket.io')(app)var net = require('net')app.listen(5000)net.createServer(function(so){    so.on('data',function(data){        console.log('got:',data.toString());        var text = JSON.parse(data.toString());        var tem = parseInt(text.tem)        // console.log(tem)        io.on('connection', function(socket){             console.log()                 socket.emit('news', { tem });            socket.on('my other event', function (data) {                console.log(data);               })        })    })    so.on('end',function(data){        console.log('end');    });    so.write('Ready to receive your message!')     }).listen(4001);            
查看完整描述

1 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

很多问题

  1. TCP是字节流,你收到data的时候不一定是完整的JSON。正常应该拆包,处理粘包,双方约定编码等等。

  2. 如果恰巧JSON短,解析成功了,那么每次收到TCP数据你都会设置connection事件的回调。这样浪费

  3. 如果前端链接了,但是tcp没有发送数据,就不会绑定connection事件

  4. 根本不知道你前端代码。前端得到undefined不一定全部都是后端的错吧。

这个问题一定会石沉大海,太笼统,潜在问题比较多,信息不全


查看完整回答
反对 回复 2019-01-16
  • 1 回答
  • 0 关注
  • 450 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信