主要是想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个赞
很多问题
TCP是字节流,你收到data的时候不一定是完整的JSON。正常应该拆包,处理粘包,双方约定编码等等。
如果恰巧JSON短,解析成功了,那么每次收到TCP数据你都会设置connection事件的回调。这样浪费
如果前端链接了,但是tcp没有发送数据,就不会绑定connection事件
根本不知道你前端代码。前端得到undefined不一定全部都是后端的错吧。
这个问题一定会石沉大海,太笼统,潜在问题比较多,信息不全
添加回答
举报
0/150
提交
取消