Я экспериментировал с веб -питаниями в течение последних нескольких дней, и у меня есть несколько смешанных впечатлений с новой, очень крутой технологией. Я написал простой чат-клиент, который использует последний релиз из Labs HTML5, который, как я полагаю, является выпуском Draft Spec Draft Hybi-09. Клиент отлично работает в Chrome (Dev Channel V14.0). Все функционирует так, как должно. Тем не менее, в любом другом основном браузере, который изначально поддерживает веб -питания (Firefox (v6.0b) (да, я включил функциональность WebSockets), Safari (v5.1)), он не может подключиться по какой -то причине. Вот некоторые из моего клиентского кода: < /p>
$(document).ready(connect);
function connect() {
if ('WebSocket' in window) {
websocket = new WebSocket('ws://' + window.location.hostname + ':4502/chat');
}
else if ('MozWebSocket' in window) {
websocket = new MozWebSocket('ws://' + window.location.hostname + ':4502/chat');
}
else {
//not supported
return;
}
websocket.onopen = function () {
//do some setup stuff
};
websocket.onclose = function () {
//DOH
};
websocket.onmessage = function (e) {
//Do some stuff with e.data
};
}
< /code>
и некоторые (c#) код сервера: < /p>
static void Main(string[] args)
{
var host = new WebSocketsHost();
host.AddWebSocketsEndpoint("ws://" + Environment.MachineName + ":4502/chat");
host.Open();
Console.ReadLine();
}
< /code>
Как я уже сказал, он хорошо подключается к Chrome и попадает в функцию .onopen, как и должна. В FF и Safari он идет прямо к функции Onclose и никогда не подключается. В FF я получаю следующие ошибки: < /p>
"NetworkError: 501 Not Implemented - http://localhost:4502/chat"
Firefox can't establish a connection to the server at ws://localhost:4502/chat
< /code>
и в Safari: < /p>
WebSocket frame (at 4294967295 bytes) is too long.
< /code>
Единственное, о чем я могу придумать, - это какая -то проблема обратной совместимости. Я считаю, что Chrome 14.x реализует проект 10 спецификации Hybi Webockets, и я думаю, что FF 6 реализует проект 07 или 08, и я не уверен в Safari 5.1. Если у кого -то есть какое -либо представление о том, в чем проблема, и/или как/если я могу это исправить, я бы признателен за помощь. Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/696 ... patibility
Версии WebSocket и обратная совместимость ⇐ Html
Программисты Html
1752305254
Anonymous
Я экспериментировал с веб -питаниями в течение последних нескольких дней, и у меня есть несколько смешанных впечатлений с новой, очень крутой технологией. Я написал простой чат-клиент, который использует последний релиз из Labs HTML5, который, как я полагаю, является выпуском Draft Spec Draft Hybi-09. Клиент отлично работает в Chrome (Dev Channel V14.0). Все функционирует так, как должно. Тем не менее, в любом другом основном браузере, который изначально поддерживает веб -питания (Firefox (v6.0b) (да, я включил функциональность WebSockets), Safari (v5.1)), он не может подключиться по какой -то причине. Вот некоторые из моего клиентского кода: < /p>
$(document).ready(connect);
function connect() {
if ('WebSocket' in window) {
websocket = new WebSocket('ws://' + window.location.hostname + ':4502/chat');
}
else if ('MozWebSocket' in window) {
websocket = new MozWebSocket('ws://' + window.location.hostname + ':4502/chat');
}
else {
//not supported
return;
}
websocket.onopen = function () {
//do some setup stuff
};
websocket.onclose = function () {
//DOH
};
websocket.onmessage = function (e) {
//Do some stuff with e.data
};
}
< /code>
и некоторые (c#) код сервера: < /p>
static void Main(string[] args)
{
var host = new WebSocketsHost();
host.AddWebSocketsEndpoint("ws://" + Environment.MachineName + ":4502/chat");
host.Open();
Console.ReadLine();
}
< /code>
Как я уже сказал, он хорошо подключается к Chrome и попадает в функцию .onopen, как и должна. В FF и Safari он идет прямо к функции Onclose и никогда не подключается. В FF я получаю следующие ошибки: < /p>
"NetworkError: 501 Not Implemented - http://localhost:4502/chat"
Firefox can't establish a connection to the server at ws://localhost:4502/chat
< /code>
и в Safari: < /p>
WebSocket frame (at 4294967295 bytes) is too long.
< /code>
Единственное, о чем я могу придумать, - это какая -то проблема обратной совместимости. Я считаю, что Chrome 14.x реализует проект 10 спецификации Hybi Webockets, и я думаю, что FF 6 реализует проект 07 или 08, и я не уверен в Safari 5.1. Если у кого -то есть какое -либо представление о том, в чем проблема, и/или как/если я могу это исправить, я бы признателен за помощь. Спасибо!
Подробнее здесь: [url]https://stackoverflow.com/questions/6960500/websocket-versions-and-backwards-compatibility[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия