有没有办法用socket.io跟踪外部站点?所以每当网站发生变化时,它都会自动向我的服务器发送一个事件?
例如:
socket.on("newconnectionfromxxxxxxxxxxxxxxx", function (websiteChange) { //websiteChange would be the contents of the updated website.
});
如果这个问题很明显,我很抱歉,因为我在网上找不到任何东西。
编辑:我想跟踪的网站是一个JSON文件。
socket.io在两个协作站点之间工作。因此,只有当您要监控的网站专门支持传入的socket.io连接时,它才会在这里对您有所帮助,并且它支持在您感兴趣的特定文件发生更改时通过该连接发送通知消息。
如果你想要监控的网站没有这些特定的监控功能,那么你最好能做的就是定期下载感兴趣的文件,自己看看它是否发生了变化。
由于目前所有网站都不是完全由事件驱动/响应的,因此您必须定期轮询您的网站目标,并查看JSON文件中的差异。有许多"文件观察者"程序(C#、Java等)连接到本机操作系统文件系统事件机制;您可以更改其中一个程序,以向服务器触发WS或HTTP事件。有一个NodeJS包装器可能对您有所帮助:https://github.com/paulmillr/chokidar
Bummer Unix"watch"实用程序没有在检测到差异时触发事件的选项,而不是直观地突出显示更改。如果它有一个"-difftrigger‘some command’"选项,那将非常酷。。。