2014-01-04 2 views
0

Я играю с проектом с открытым исходным кодом, который использует Socket.IO для подключения к веб-сайту chat.meatspac.es, который размещен на другом сервере. Он подключается как этогоЧто может Socket.io подключиться?

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'); 

, но он не будет слушать сообщения, опубликованных в моем Твиттере.

Итак, мой вопрос в том, может ли Socket.IO подключаться только к серверам, которые испускают сообщения Socket.IO?

+0

Вы правы, socket.io будет подключаться только к серверам испускать с Socket.io – MobileSam

ответ

2

socket.io позволяет моделировать сокет API (используется в традиционных приложениях для настольных ПК) для доступа с помощью javascript (web).

Но это не будет вести себя так, как ведут себя традиционные сокеты. Он использует HTML5 WebSockets для сокетов моделирования

Sockets.io должен иметь совместимый сервер приложений, что показано here путем развертывания приложения сервера, используя nodejs

Посмотрите на стороне сервера реализаций WebSockets сегодня, сокет. io, причем nodejs является одним из них. http://www.html5rocks.com/en/tutorials/websockets/basics/

Так что для вашего вопроса, используя Socket.io создать сокет к сайту:

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

Это невозможно, потому что socket.io не является реальным сокет API, его просто симуляция сокетов api, используя HTML5 websocket api и, возможно, другие резервные копии (длинный опрос, комета и т. д.). Таким образом, сервер должен быть совместим с обработкой запроса ws (websocket protocol), и в случае твиттера здесь, чтобы получить поток подачи, это не так, поэтому это невозможно сделать так.

См API твиттер программно получить доступ к ресурсам щебет

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

Смежные вопросы