什么时候发生了nodejs net模块中的“连接”事件?
我有这个简单的TCP服务器:
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);
我在一个terminal窗口中运行服务器,然后在其他窗口中运行客户端,并希望看到服务器日志“新客户端”。 虽然,这并没有发生。 那么,什么时候“连接”事件准确发射?
net.createServer
将给定的函数设置为connection
事件的侦听器。
换句话说,在服务器端, 当您得到callback时 , 套接字已经连接 ,并且您正在尝试收听的事件不会在已连接的套接字上发出。
我做了一个不同的testing。 服务器对象具有“超时”属性。 当您拨打以下代码时:
server.setTimeout(500);
//现在0.5秒后,你可以调用“连接”事件。 默认值是120000。
但是,我仍然不知道这个改变会导致什么。