使用socket.io跟踪外部站点?

时间:2015-12-31 21:42:24

标签: json node.js websocket socket.io

有没有办法用socket.io跟踪外部网站?所以每当网站发生变化时,它会自动向我的服务器发送一个事件?

例如:

socket.on("newconnectionfromxxxxxxxxxxxxxxx", function (websiteChange)  {  //websiteChange would be the contents of the updated website.
});

很抱歉,如果这个问题很明显,因为我在网上找不到任何内容。

编辑:我想要跟踪的网站是一个JSON文件。

2 个答案:

答案 0 :(得分:1)

socket.io在两个合作站点之间工作。因此,如果您要监视的站点专门支持传入的socket.io连接,它只会帮助您。只要您感兴趣的特定文件发生更改,它就支持通过该连接发送通知消息。

如果您要监控的网站没有这样的特定监控功能,那么您最好的办法就是定期下载感兴趣的文件,并在发生变化时自行查看。

答案 1 :(得分:0)

由于此时所有网站都不是完全由事件驱动/被动的,您必须定期轮询您的网站目标并查看该JSON文件的差异。有许多“filewatcher”程序(C#,Java等)挂钩到本机OS文件系统事件机制;您可以更改其中一个程序以触发服务器的WS或HTTP事件。有一个NodeJS包装器可能对您有所帮助:https://github.com/paulmillr/chokidar

Bummer Unix“watch”实用程序没有选择在检测到diff时触发事件,而不是直观地突出显示更改。如果它有一个“-difftrigger'some-command'”选项,那真的很酷......