Tôi có ví dụ sau đây về nghe kết nối và sự kiện dữ liệu, để phản hồi kết quả quay lại các ứng dụng khách telnet khác đang nghe trên cổng 8888. Các phiên telnet của tôi kết nối với locahost tốt, nhưng không có đầu ra được lặp lại. Tôi đánh đầu vào một bức tường gạch cố gắng tìm ra điều gì sai. Việc thực hiện thậm chí không nhận được như xa như sự kiện 'kết nối'.Sự kiện mạng Node.js không kích hoạt
/server.js
var events = require('events');
var net = require('net');
var channel = new events.EventEmitter();
channel.clients = {};
channel.subscriptions = {};
channel.on('join', function (id, client) {
this.clients[id] = client;
this.subscriptions[id] = function (senderId, message) {
if (id != senderId) {
this.clients[id].write(message);
}
}
this.on('broadcast', this.subscriptions[id]);
});
var server = net.createServer(function (client) {
var id = client.remoteAddress + ':' + client.remotePort;
console.log(id);
client.on('connect', function() {
console.log('A new connection was made');
channel.emit('join', id, client);
});
client.on('data', function (data) {
data = data.toString();
channel.emit('broadcast', id, data);
});
});
server.listen(8888);
sau đó tôi chạy trong dòng lệnh
node server.js
telnet 127.0.0.1 8888
Cảm ơn bạn - đã xóa toàn bộ nội dung. – metalaureate