NodeJS net.Socket:`connect` 与 `ready` 事件
NodeJS net.Socket: `connect` vs `ready` event
我今天很难用我的 NodeJS 代码调试问题。
当我打开到同一个 unix 套接字的两个连接时遇到问题(尽管是原因);并且出于未知原因,有时它始终运行良好;有时我没有回复任何 data
,但 connect
只因其中一个被解雇。
我仍在尝试调试,但我深入研究了文档并遇到了另一个问题。正如 NodeJS 文档 (12.x LTS) 所述:(关于 net.Socket
)
# Event: 'connect'
Added in: v0.1.90
Emitted when a socket connection is successfully established. See net.createConnection().
# Event: 'ready'
Added in: v9.11.0
Emitted when a socket is ready to be used. Triggered immediately after 'connect'.
(https://nodejs.org/docs/latest-v12.x/api/net.html)
我想知道我是否应该在那里寻找错误:
immediately
是什么意思?意思是synchronously
?如果是这样,ready
和connect
之间有什么区别吗?
- 使用
ready
而不是 connect
来完成 after-connection-established/opened
任务有什么意义吗?
- 两者有什么区别?
谢谢!
此事件是从 net
发出的,以确保不同 API 之间的一致性。在此处查看原始提交:
https://github.com/nodejs/node/commit/1c8149417a5dec9b2af056f306822b8a22a09706
它的创建是为了让开发人员在使用 fs
和 net
代码时更轻松,这样他们就不必记住给定流实现的所有复杂细节。
实际上,Node.js 套接字代码确实 this:
self.emit('connect');
self.emit('ready');
我今天很难用我的 NodeJS 代码调试问题。
当我打开到同一个 unix 套接字的两个连接时遇到问题(尽管是原因);并且出于未知原因,有时它始终运行良好;有时我没有回复任何 data
,但 connect
只因其中一个被解雇。
我仍在尝试调试,但我深入研究了文档并遇到了另一个问题。正如 NodeJS 文档 (12.x LTS) 所述:(关于 net.Socket
)
# Event: 'connect'
Added in: v0.1.90
Emitted when a socket connection is successfully established. See net.createConnection().
# Event: 'ready'
Added in: v9.11.0
Emitted when a socket is ready to be used. Triggered immediately after 'connect'.
(https://nodejs.org/docs/latest-v12.x/api/net.html)
我想知道我是否应该在那里寻找错误:
immediately
是什么意思?意思是synchronously
?如果是这样,ready
和connect
之间有什么区别吗?- 使用
ready
而不是connect
来完成after-connection-established/opened
任务有什么意义吗? - 两者有什么区别?
谢谢!
此事件是从 net
发出的,以确保不同 API 之间的一致性。在此处查看原始提交:
https://github.com/nodejs/node/commit/1c8149417a5dec9b2af056f306822b8a22a09706
它的创建是为了让开发人员在使用 fs
和 net
代码时更轻松,这样他们就不必记住给定流实现的所有复杂细节。
实际上,Node.js 套接字代码确实 this:
self.emit('connect');
self.emit('ready');