'connection' 事件


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

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

如果在此处调用 socket.setTimeout(),则当套接字已提供请求时(如果 server.keepAliveTimeout 为非零),超时将会被 server.keepAliveTimeout 替换。

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

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>.