Вопрос

У меня есть код, который запускает ICallbackEventHandler каждые 1000 мс.Когда я запускаю этот код локально, данные реагируют быстро, примерно раз в 1 секунду.

Затем я загрузил это на сервер, и иногда данные отвечают 1 секунду, иногда 3 секунды, а иногда и 6-7 секунд, почему это?

Ниже приведен фрагмент кода, который выполняет этот рекурсивный вызов сервера каждую секунду:

function MessageServerResponse(param, context) {
    if (param.length > 0) {
        var splitParam = param.split("~");
        var id = splitParam[0];
        var data= splitParam[1];

        $('#' + id).prepend(data);
    }

    setTimeout("MessageServerRequest();", 1000);
}
Это было полезно?

Решение

если вы единственный человек, который использует сервер, ответ всегда будет 1 секунда.и вы не можете ожидать, что клиент внимательно ответит на ваш сценарий.

1 мой трюк, чтобы сделать это быстрее

  • если вы используете обычную обратную передачу <form>, поместите в форму как можно меньше.больше HTML в форме означает больше передачи данных
  • если вы используете панель обновлений, просто сделайте ее маленькой или создайте специальную панель обновлений для повышения производительности.
  • для jquery я бы предложил $.ajax({cache:true})
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top