我有這個簡單的TCP服務器:什麼時候在nodejs網絡模塊發出'connect'事件?
var net = require('net');
var server = net.createServer(function (socket) {
socket.on('connect', function() {
console.log("New client!");
});
});
server.listen(8000, function(){
console.log("server running...")
});
,然後我有另一個文件client.js:
var net = require('net');
var client = net.connect({port: 8000},
function() {
console.log('client connected');
});
client.on('error', console.error);
我運行一個終端窗口,然後服務器我在別的客戶端運行窗口,並期望看到服務器日誌「新客戶端」。雖然,那沒有發生。那麼,什麼時候「連接」事件準確發射?
那麼,這是否意味着我提供給'net.createServer'的回調本質上是在'connect'事件上執行的? 另外,我怎麼能明確地發出連接事件,然後因爲它不能在已經連接的套接字上發射? – Jatin
@Jatin是的,回調會自動在'connected'事件中註冊。要手動發出'connect'事件,可以使用[emitter.emit()](http://nodejs.org/api/events.html#events_emitter_emit_event_arg1_arg2)。 –