Как использовать сокеты в JavaScript \ HTML?
Может использовать какой-нибудь крутой HTML5?
Библиотеки? Учебники? Статьи в блогах?
Как использовать сокеты в JavaScript \ HTML?
Может использовать какой-нибудь крутой HTML5?
Библиотеки? Учебники? Статьи в блогах?
Ответы:
Характеристики:
Статьи:
Руководство:
Библиотеки:
bobince
предоставлено простое руководство на этой странице: P
Как использовать сокеты в JavaScript / HTML?
В JS или HTML нет возможности использовать сокеты общего назначения. Например, это было бы катастрофой для безопасности.
В HTML5 есть WebSocket. Клиентская сторона довольно тривиальна:
socket= new WebSocket('ws://www.example.com:8000/somesocket');
socket.onopen= function() {
socket.send('hello');
};
socket.onmessage= function(s) {
alert('got reply '+s);
};
Вам понадобится специализированное приложение сокетов на стороне сервера, чтобы принимать соединения и что-то с ними делать; это не то, что вы обычно делали бы из интерфейса сценариев веб-сервера. Однако это относительно простой протокол. ; моя узловатая конечная точка на базе Python SocketServer состояла всего из пары страниц кода.
В любом случае, его пока нет. Ни спецификация на стороне JavaScript, ни спецификация сетевого транспорта не зафиксированы, и никакие браузеры не поддерживают это.
Однако вы можете использовать Flash там, где это возможно, чтобы предоставить вашему сценарию запасной вариант, пока WebSocket не станет широко доступным. Web-socket-js от Gimite - один из таких бесплатных примеров. Однако тогда вы подвержены тем же ограничениям, что и Flash Sockets, а именно: ваш сервер должен иметь возможность выдавать междоменную политику по запросу на порт сокета, и вы часто будете испытывать трудности с прокси / брандмауэрами. (Флэш-сокеты создаются напрямую; для тех, у кого нет прямого публичного IP-доступа и который может выйти из сети только через HTTP-прокси, они не будут работать.)
Если вам действительно не нужна двусторонняя связь с малой задержкой, вам лучше пока придерживаться XMLHttpRequest
.
Я думаю, что важно упомянуть, что теперь, когда этому вопросу больше года, с тех пор появился Socket.IO, который сейчас, кажется, является основным способом работы с сокетами в браузере; Насколько мне известно, он также совместим с Node.js.