websocket示例程序:没有得到回调

websocket sample program: Not getting callback

本文关键字:回调 例程 程序 websocket      更新时间:2023-09-26

我创建了一个服务器和客户端。这非常有效。但我必须用回调来实现它。这是未定义的。

我的代码:
服务器端代码

var net = require('net');
var HOST = '127.0.0.1';
var PORT = 6969;
net.createServer(function(socket) {    
    console.log('CONNECTED: ' + socket.remoteAddress +':'+ socket.remotePort);
    socket.on('data', function(data, callback) { 
      console.log('Data from client :' + data + ''n');
      return callback('error', 'message');
    });
}).listen(PORT, HOST);
console.log('Server listening on ' + HOST +':'+ PORT);

客户端代码

var net = require('net');
var HOST = '127.0.0.1';
var PORT = 6969;
var client = new net.Socket();
client.connect(PORT, HOST, function() {
    console.log('CONNECTED TO: ' + HOST + ':' + PORT);
});
client.write('I am Chuck Norris!', function(error, response){
  console.log(error, response);
});

我在服务器端收到此错误

/web/ws/server.js:10
      return callback('error', 'message');
             ^
TypeError: undefined is not a function
    at Socket.<anonymous> (/web/ws/server.js:10:14)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:764:14)
    at Socket.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:426:10)
    at emitReadable (_stream_readable.js:422:5)
    at readableAddChunk (_stream_readable.js:165:9)
    at Socket.Readable.push (_stream_readable.js:127:10)
    at TCP.onread (net.js:528:21)

客户端结果

CONNECTED TO: 127.0.0.1:6969
undefined undefined

**我试过socket.io,它运行良好
**但标准是"净"包

我是不是错过了什么?可以在这里使用回调吗?请让我理解。感谢

net库中的data事件处理程序没有回调函数。例如:

socket.on('data', function (chunk) {
});

如果你想捕捉所有数据消耗的事件,你可以使用:

socket.on('end', function () {
});

你的代码看起来是这样的:

var chunks = [];
socket.on('data', function (chunk) {
    chunks.push(data);
});
socket.on('end', function (chunk) {
    chunks = chunks.join('');
});