reaper, А ты мог бы показать как работает WebSockets на примере оповещений или тому подобному?
Rakovskiy,
http://habrahabr.ru/post/79038/ С 2009 года думаю не много изменилось.
Разве что в PHP появился Ratchet, который позволяет очень просто написать свой WebSocket сервер.
reaper, А, что нужно для протокола ws?
Rakovskiy, Как понять? На бэкэнде нужен сервер, который понимает WebSocket протокол и может взаимодействоать с клиентом на фронтенде.
В последних версиях большинства браузеров есть поддержка веб-сокетов. А где нет, могут эмулироваться с помощью Flash или лонг пулов. Только для этого придётся подключать сторонние библиотеки.
Из вики:
Google Chrome (начиная с версии 4.0.249.0);
Apple Safari (начиная с версии 5.0.7533.16);
Mozilla Firefox (начиная с версии 4);
Opera (начиная с версии 10.70 9067);
Internet Explorer (начиная с версии 10);
reaper, Я про настройку WS протокола на сервере
# Folour (07.12.2014 / 19:47)
Сравнивай время последнего запроса новых сообщений. Что-бы не повторялось.
на пыхапе я еще могу понять как сделать но не на джава скрипт..
Fublin, Если на аяксе хотите, то вот моя реализация
var message_total = parseInt($("#count-messages").text());
var message_timeout = 3000;
function count_messages(){
$.post("/messages.php", function (total){
total = parseInt(total);
var audio = new Audio();
audio.src = '/themes/default/audio/message.wav';
message_total = message_total ? message_total : 0;
if (!total || total < 1){
$("#count-messages").remove();
}else if (total && total != message_total){
if (total > message_total){
audio.play();
}
$("#messages").html('<span id="count-messages" class="count"><total>' + total + '</total></span>');
$("total").hide();
$("total").slideDown(300);
}
message_total = total;
});
}
$(document).ready(function (){
setInterval('count_messages()', message_timeout);
});
html
<a href="#">
<i id="messages" class="count-item fa fa-envelope"></i>
</a>
Могу дать пример, в личке
Rakovskiy, если я правильно понял, то тут как фейсбуке оповещения.. То есть считаются все оповщения и выдается просто сылка со счетчиком...?
То есть надо делать или страничку с оповещениями или еще что ?
Fublin, message.php отдает количество новых сообщений
# Rakovskiy (13.12.2014 / 21:44)
reaper, Я про настройку WS протокола на сервере
А что там настраивать? Есть вариант проксировать через nginx или haproxy, а можно просто голый порт наружу вытащить и всё. Я вот у себя пока что не вижу смысла проксировать, потому клиенты коннектятся напрямую к PHP.