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