Прямо сейчас у нас есть веб-приложение, которое запускается в локальной сети, где клиенты запускают все в javascript. Чтобы убедиться, что все синхронизировано, эти клиенты в настоящее время используют запрос AJAX к серверу, отправляя последний полученный «syncId». Затем сервер отвечает деревом массивов команд, чтобы обновить этот клиент. Это выполняется каждую секунду и еще не вызвало каких-либо проблем с пропускной способностью сети или задержкой, однако в следующем месяце мы устанавливаем систему на более крупном клиенте, что может расширить пределы этого метода, и мне интересно, возможно ли иметь сервер " PUSH" события синхронизации для клиентов в режиме реального времени.
srvResponse=httpGet("CDSSync.php?sessionKey="+sessionKey+"&lastUpdate="+lastUpdate);
if(srvResponse!=0){
syncEvents=srvResponse.split(";");
for(var i=0; i<syncEvents.length; i++){
syncItem=syncEvents[i].split(",");
window["syncFunction_"+syncItem[1]](syncItem[2]);
lastUpdate=syncItem[0];
}
}
В приведенном выше примере моя система проверяет события для синхронизации, где syncItem[0] — это идентификатор автоинкремента, syncItem[1] — код обрабатываемого события, а syncItem[2] — параметр функции. вызываемая функция httpGet, хотя и не в этом коде, является просто функцией, которая получает данные с сервера и возвращает ответ.