gpt4 book ai didi

javascript - Socket.io 可以连接什么?

转载 作者:行者123 更新时间:2023-12-02 17:56:42 27 4
gpt4 key购买 nike

我正在研究一个使用 Socket.IO 的开源项目连接到托管在不同服务器上的网站 chat.meatspac.es。连接起来是这样的

var socket = socketClient.connect('https://chat.meatspac.es');

然后它监听也在 chat.meatspac.es 上发布的数据。这是否仅因为 chat.meatspac.es 也是一个 Socket.IO 应用程序并且它发出可由其他开源项目接收的信号而起作用?

例如,我天真地尝试连接到我的 Twitter 流

 var socket = socketClient.connect('https://twitter.com/username');

但它不会监听我的 Twitter feed 中发布的消息。

所以,我的问题是,Socket.IO 只能连接到发出 Socket.IO 消息的服务器吗?

最佳答案

socket.io 允许模拟套接字 API(在传统桌面应用程序中使用)以通过 javascript (Web) 进行访问。

但这与传统套接字的行为并不完全相同。它使用 HTML5 websockets 进行套接字模拟

Sockets.io 需要有一个兼容的服务器应用程序,如 here 所示。通过使用nodejs部署服务器应用程序

今天看看 websockets 的服务器端实现,socket.io 和 nodejs 就是其中之一。 http://www.html5rocks.com/en/tutorials/websockets/basics/

因此,对于您使用 socket.io 创建与 twitter 的套接字连接的问题:

var socket = socketClient.connect('https://twitter.com/username');

这是不可能的,因为 socket.io 不是真正的套接字 API,它只是使用 HTML5 websocket api 以及其他后备(长轮询、comet 等)模拟套接字 api。因此服务器应该兼容处理 ws(websocket 协议(protocol))请求,并且如果 twitter 在这里获取提要流,则情况并非如此,因此不能这样做。

请参阅 twitter api 以编程方式访问 Twitter 资源

https://dev.twitter.com/docs/api/1.1

关于javascript - Socket.io 可以连接什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20923645/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com