Чи потрібен сервер для використання WebSockets HTML5?


78

Чи потрібно мені при використанні WebSockets писати код сервера? Іншими словами, чи потрібно JavaScript у моєму клієнтському додатку підключатися до спеціалізованого сервера, чи мій існуючий сервер Apache працюватиме для підтримки цього?

Відповіді:


20

Сервер повинен підтримувати веб-сокети. Після першого рукостискання в HTTP сервер і клієнт відкривають сокетне з’єднання. Сервер повинен мати можливість зрозуміти та прийняти це рукостискання.

У моєму останньому проекті ми досить успішно запускаємо підключення до веб-сокетів, використовуючи останню версію Jetty.

27.02.2014: Зараз я також впроваджую веб-сокети в .net з XSockets.net і працює як шарм, вам навіть не потрібен веб-сервер (самохостинг). Реалізація ASP.NET WebSocket також працює досить добре.


cwebsocket на github - приємний невеликий сервер. легко розширити його також на http-сервер.
minghua

6

Так, вам потрібно написати код сервера.

Я рекомендую інший сервер веб-сокетів на основі php: ratchet . І це посилання є порівняльним сервером webSocket між храповим механізмом та sockJS.

Повний список кодів на стороні клієнта та сервера та підтримку браузерів перевірте за цим посиланням


5

Звичайно, вам потрібен сервер WebSocket. Але існує безліч безкоштовних веб-серверів різною мовою, таких як jWebSocket у Java та SuperWebSocket у .NET, ви можете використовувати їх безпосередньо.


2
Навіщо ви говорите "звичайно", що вам потрібен сервер? Це може працювати одноранговий, чи не так?
Джонатан Старк,

@JonathanStark ні. Websocket призначений лише для клієнта / сервера. вони не є рівними. Для однорангового рішення перевірте специфікацію webrtc.
JAR.JAR.beans

Моє ліжко. Думав про WebRTC. Вибач за це.
Джонатан Старк,

5

Зараз на сайті Google розробляються деякі плагіни для Apache ...

За визначенням веб-сокети, як звичайні сокети, є клієнт-сервером, так що так, вам потрібен сервер. Однак є альтернатива очікуванню на плагіни Apache.

Я використовую розміщений сервер http://www.achex.ca . Це безкоштовно, і у вас є підручники в javascript про те, як користуватися сервером. Хороший старт для розробки веб-сокетів.

Сервер в основному є маршрутизатором повідомлень, і ви можете підключитися до нього та використовувати його як місце зустрічі для всіх ваших клієнтів веб-сокета.

Коротка відповідь : Так , вам потрібен спеціалізований сервер, Apache не постачається з веб-сокетами.
АБО
Альтернатива , перевірте www.achex.ca .


2

У такій ситуації роль сервера приходить, коли:

У HTML 5 WebSocket схожий на fone (двосторонній зв'язок), а не розмовляючий. протокол http оновлений до протоколу websocket. (wss:// from ws://) СЕРВЕР повинен мати можливість відкрити дуплексний канал і, отже, ПОГОДЖИТИсь із дуплексним зв’язком.

Будь ласка, перейдіть за цим посиланням: http://www.html5rocks.com/en/tutorials/websockets/basics/

Якщо ви використовуєте php, будь ласка, подивіться на RATCHET.

Дякую.


1

Сервер Perl Mojolicious підтримує веб-сокети, а реалізації можуть мати лише кілька рядків.

Node.js має декілька бібліотек WebSocket, але деталі останньої, найкращої, що підтримує останню специфікацію різняться, тому вибирайте ретельно.

Apache Active MQ також варто подивитися разом із протоколом стомп, який він реалізує.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.