Browse Source

Remove 'connect' event from server side sockets

Sockets emitted by the 'connection' event are always connected, having
them emit the 'connect' event makes no sense. It only confused people,
as it's not clear if you have to listen to 'connect' or not.

That try..catch block was also very scary. It would silently swallow
exceptions in 'connect' listeners and destroy the socket. Makes no
sense.

Fixes #1047.
v0.7.4-release
Felix Geisendörfer 14 years ago
committed by Ryan Dahl
parent
commit
f0a440d886
  1. 9
      lib/net.js
  2. 4
      test/simple/test-net-reconnect.js

9
lib/net.js

@ -951,15 +951,6 @@ function Server(/* [ options, ] listener */) {
DTRACE_NET_SERVER_CONNECTION(s);
self.emit('connection', s);
// The 'connect' event probably should be removed for server-side
// sockets. It's redundant.
try {
s.emit('connect');
} catch (e) {
s.destroy(e);
return;
}
}
};
}

4
test/simple/test-net-reconnect.js

@ -30,9 +30,7 @@ var client_recv_count = 0;
var disconnect_count = 0;
var server = net.createServer(function(socket) {
socket.addListener('connect', function() {
socket.write('hello\r\n');
});
socket.write('hello\r\n');
socket.addListener('end', function() {
socket.end();

Loading…
Cancel
Save