'connection' 事件


当建立新的 TCP 流时会触发此事件。 socket 通常是 net.Socket 类型的对象。 通常用户不会想访问这个事件。 特别是,由于协议解析器附加到套接字的方式,套接字将不会触发 'readable' 事件。 socket 也可以在 request.connection 上访问。

此事件也可以由用户显式发出,以将连接注入 HTTP 服务器。 在这种情况下,任何 Duplex 流都可以通过。

如果此处调用 socket.setTimeout(),则当套接字已服务请求时(如果 server.keepAliveTimeout 非零)超时将替换为 server.keepAliveTimeout

除非用户指定 <net.Socket> 以外的套接字类型,否则此事件保证传入 <net.Socket> 类(<stream.Duplex> 的子类)的实例。

This event is emitted when a new TCP stream is established. socket is typically an object of type net.Socket. Usually users will not want to access this event. In particular, the socket will not emit 'readable' events because of how the protocol parser attaches to the socket. The socket can also be accessed at request.connection.

This event can also be explicitly emitted by users to inject connections into the HTTP server. In that case, any Duplex stream can be passed.

If socket.setTimeout() is called here, the timeout will be replaced with server.keepAliveTimeout when the socket has served a request (if server.keepAliveTimeout is non-zero).

This event is guaranteed to be passed an instance of the <net.Socket> class, a subclass of <stream.Duplex>, unless the user specifies a socket type other than <net.Socket>.