创建到网站的套接字以检索该页面信息

Creating a socket to a website to retrieve that pages information

我如何创建到站点的套接字以检索该页面信息?如果我使用的是流星,我是否必须在循环中执行 HTTP.get(这是一款多人游戏,所以情况不断变化),或者是否有办法实际创建到该站点的套接字。我查看了 Socket.io 但我只能找到如何倾听和接受,而不是实际创建到站点的套接字。

编辑:在我的例子中 http://play.pokemonshowdown.com/。我假设如果我继续执行 http.get 请求,它不会保存状态并因此继续创建新游戏。我能否以某种方式在我的 site/server 和他们的 site/server 之间创建一个套接字,直到我断开连接?基本上,无论浏览器做什么,但我不想显示该信息,而是将其重定向到另一个套接字(不是问题的一部分)。

此处的答案取决于您要连接的站点支持的内容。如果它只是一个创建网页的网络服务器,那么你唯一的选择就是使用 HTTP get 操作来请求网页。

如果网站支持特定的 API,您可以对特定的 API 请求进行 HTTP get 操作,并获得比网页更结构化的响应。

如果站点支持 webSocket 或 socket.io 连接并定义了特定的 request/response 消息,那么您可以使用 webSocket 或 socket.io.

进行连接

但是,这完全取决于接收站点支持什么。


如果您尝试重复来自 node.js 的请求,您可能不会使用循环,而更像是一个计时器,例如:

setInterval(function() {
    request.get(..., function(err, response, body) {
        // process error or response here
    });
}, 10* 1000);

也可能是 request 模块对您有用,因为它在尝试从 HTTP 服务器检索请求时在 http 模块之上添加了很多功能.