1. Joe - 16 Сентября, 2014 - 12:09:13 - перейти к сообщению
Есть WebSocket клиент (JavaScript) и сервер (php) есть ли способ наиболее точно получить время отклика сервера. Тоесть нужна цифра задержки. Можно конечно запоминать время при отправке и отнимать от цифры времени получения, но хотелось бы что-то более надежное.
2. OrmaJever - 16 Сентября, 2014 - 12:15:16 - перейти к сообщению
Joe пишет:
но хотелось бы что-то более надежное
а чем то что вы написали не надёжное?
3. Joe - 16 Сентября, 2014 - 12:49:29 - перейти к сообщению
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- var jSocket = function()
- {
- var jWebSocket;
- // Запуск сокетов
- this.run = function()
- {
- jWebSocket = new WebSocket('ws://'+hostname+'/server/');
- jWebSocket.onopen = function() { jlog('Соединение установлено.'); };
- jWebSocket.onclose = function(event) { if (event.wasClean) jlog('Соединение закрыто чисто.'); else jlog('Обрыв соединения.'); jlog('Код: ' + event.code + ' причина: ' + event.reason); socket_restart(); };
- jWebSocket.onmessage = function(r)
- {
- jlog('ping: ' + is_ping(false) );
- res = $.evalJSON(r['data']);
- if ( res ) sProcess(res);
- };
- jWebSocket.onerror = function(error) { jlog('Ошибка: '+error.message); };
- }
- // Преобразование сообщения в строку понятную для сервера
- this.code = function (type, obj) {
- var r = {}; r['mt'] = type; r['data'] = obj;
- var a = $.toJSON(r);
- return a;
- }
- // Отправка сообщения на сервер
- this.send = function (str) { is_ping(true); jWebSocket.send(str); }
- // Функция БОСС, раздача работы
- function sProcess(res)
- {
- switch (res['mt'])
- {
- case 1: Mod['chat'].send(res['data']); break; // чат
- default: jlog('Ошибка обработки полученных данных.'); break;
- }
- }
- function socket_restart() { setTimeout('this.run();', 5000); }
- function is_ping( a )
- {
- else {
- return ping;
- }
- }
- }
Получается что аптайм бывает и 1 милисекунда, как-то я в это не оч верю)