所以我想说我想制作一个Twitter机器人。我想向发送回复的人发送一条消息,所以我需要为它做一个事件。显然,一种方法是在某个时间间隔内获得所有回复(或最后n个回复),找出哪些是新的,等等;但首先它不是实时的,它需要额外的查询才能找到新的推文。
假设我们要跟踪网站中的某些更改。例如,我们希望在发生变化时立即处理事件。
我使用socket.io
来处理其他类型的事件,例如在特定端口发生某些更改时,但我无法弄清楚如何处理这些类型的事件。
答案 0 :(得分:0)
“事件”一词并不代表您认为的含义!
events.EventEmitter
根据最后的定义,对于如何“追踪事件”,根本没有单一的答案。
如果您想编写可以响应更改的代码(这只是“对输入作出反应”的更具体版本),您需要创建一种机制来识别发生了更改,然后是触发机制你希望在响应中运行什么代码(最后一部分是你通常称之为“发出”一个“事件”)。
SocketIO在某些情况下使用优雅的协议降级来完成这两件事,以便显式地发出您可以监听和处理的本地事件。它开始尝试使用WebSockets,最终又回归到更为昂贵的技术,例如polling。
仅当信息源或更改决定支持该协议时,SocketIO才有效。在这些情况下,源实际上是发出事件(通过websockets),socketIO监听它。
如果您要查找的信息来源不支持websockets(并且尚未编码以明确通知您的服务器更改),您将不得不提出自己的解决方案。但是:您不应该将此视为跟踪“事件”的情况。相反,您正在关注更改。
您如何观察变化将取决于变更的性质。通常你会probably have to poll为它。