Node.js的實例可以監聽來自不同平臺(如C或C++)的事件通知嗎?Node.js中的跨平臺事件監聽器
0
A
回答
2
如果您想要實現平臺無關的事件系統,您可以查看任何消息代理,如RabbitMQ。或者你可以使用Redis PUB/SUB來實現它。
1
Node.js
EventEmitter
類的實例可以監聽來自不同平臺(如C或C++)的事件通知嗎?
不,不是直接。 node.js EventEmitter
類只能在Javascript中使用(其實現完全是Javascript),因此爲了觸發事件,某些Javascript必須在Node.js過程的EventEmitter對象的Javascript中調用.emit()
。
如果你有什麼地方運行一些C或C++代碼,你想觸發一個EventEmitter
的事件,那麼你就必須以某種方式從C調用node.js的一些JavaScript代碼/ C++代碼,那麼就可能調用EventEmmitter
對象上的方法(使用Javascript)。
如果您的C/C++代碼位於node.js本機代碼插件中,那麼您可能會觸發某種從C/C++代碼回調到Javascript的回調,就像在C中實現的其他節點內部回調一樣/ C++可以觸發回調(例如執行setTimeout()
)。如果您的C/C++代碼在另一個進程中(例如,不在node.js中),那麼您必須與node.js進程(如http請求)進行某種進程間通信以連接到node.js中的一些代碼要求它代表您執行某些操作(如發出事件)。
2
如果您創建EventEmitter
,則必須在此實例上發出事件。如果你想在C/C++中觸發事件,你必須爲它寫一個接口。你會在node-gyp repo找到一個起點。
相關問題
- 1. 針對Python跨平臺監聽器服務器的建議
- 2. Node.js事件監聽器被阻止?
- 3. Node.js ReadableStream和異步事件監聽器
- 4. 事件監聽器?
- 5. Laravel監聽器監聽多個事件
- 6. 跨平臺事件通知
- 7. Symfony2的事件監聽器
- 8. symfony的事件監聽器
- 9. window.fetch的事件監聽器
- 10. Symfony的事件監聽器
- 11. 刪除Node.js中Johnny-Five事件的監聽器
- 12. Node.js監聽併發送事件
- 13. 多個事件的事件監聽器
- 14. 停止收聽事件監聽器中的事件
- 15. Android - 事件監聽器
- 16. 刪除事件監聽器
- 17. JQuery到事件監聽器
- 18. 添加事件監聽器
- 19. 回調事件監聽器
- 20. Java MySQL事件監聽器
- 21. Javascript事件監聽器?
- 22. 鼠標監聽器事件
- 23. 被動事件監聽器
- 24. 時間事件監聽器
- 25. 切換事件監聽器
- 26. 觸發事件監聽器
- 27. 事件監聽器問題
- 28. Java事件監聽器
- 29. Android EditText事件監聽器
- 30. 點擊事件監聽器