Максимальный размер Html кода?

Статус
В этой теме нельзя размещать новые ответы.

Chipercu

Знаменитый
Пользователь
Сообщения
8
Розыгрыши
0
Репутация
0
Реакции
1
Баллы
1 285
Хроники
  1. Chaotic Throne: High Five
Исходники
Присутствуют
Сборка
open-team
Здраствуйте! В общем столкнулся с такой проблемой, клиент вылетает если отправить ему html более 100 строк

Код:
<title>Моя группа</title>
<table border=0 width=280>

    <tr>
        <td height=40 width=280 valign="bottom" align="center" valign="top">
            <table background="l2ui_ct1.Windows_DF_TooltipBG">
                <tr>
                    <td FIXWIDTH=60 height=40 align="center" valign="top"><button value="Обновить" action="bypass -h party_maker:myGroup" width=60 height=32 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td>
                    <td FIXWIDTH=60 align="center" valign="top"><button value="Аннонс" action="bypass -h party_maker:announce" width=60 height=32 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td>
                    <td FIXWIDTH=40 align="center" valign="top"><?GroupIcon?></td>
                    <td FIXWIDTH=40 align="center" valign="top"><button value="" action="bypass -h party_maker:toLeader" width=32 height=32 back="icon.skill1429" fore="icon.skill1429"></td>
                    <td FIXWIDTH=60 align="center" valign="top"><button value="Удалить" action="bypass -h party_maker:deleteGroup" width=60 height=32 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td height=40 width=280 valign="bottom" align="center" valign="top"><br><?description?></td>
    </tr>
    <tr>
        <td height=20 width=280 align="center" valign="top">
            <table width=280 background="l2ui_ct1.Windows_DF_TooltipBG">
                <tr>
                    <td FIXWIDTH=40 height=20 align="center">Класс</td>
                    <td FIXWIDTH=140 align="center">Имя</td>
                    <td FIXWIDTH=2><img src="l2ui.squaregray" width=1 height=20></td>
                    <td FIXWIDTH=20 align="center">Ур.</td>
                    <td FIXWIDTH=2><img src="l2ui.squaregray" width=1 height=20></td>
                    <td FIXWIDTH=38 align="center">Инфо</td>
                    <td FIXWIDTH=3><img src="l2ui.squaregray" width=1 height=20></td>
                    <td FIXWIDTH=38 align="center"></td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td height=20 width=280 align="center" valign="top">
            <?leader?>
        </td>
    </tr>
    <tr>
        <center>
            <td height=20 align="center" valign="top"><br>Участники группы</td>
        </center>
    </tr>
    <tr>
        <td height=20 width=280 align="center" valign="top">
            <?acceptedPlayers?>
        </td>
    </tr>
    <tr>
        <center>
            <td height=20 align="center" valign="top"><br>Кандидаты на вступление в группу</td>
        </center>
    </tr>
    <tr>
        <td>
            <table width=280 background="l2ui_ct1.Windows_DF_TooltipBG">
                <tr>
                    <td FIXWIDTH=40 height=20 align="center">Класс</td>
                    <td FIXWIDTH=100 align="center">Имя</td>
                    <td FIXWIDTH=20 align="center">Ур.</td>
                    <td FIXWIDTH=40 align="center"></td>
                    <td FIXWIDTH=5><img src="l2ui.squaregray" width=1 height=15></td>
                    <td FIXWIDTH=40 align="center"></td>
                    <td FIXWIDTH=5><img src="l2ui.squaregray" width=1 height=15></td>
                    <td FIXWIDTH=40 align="center"></td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td height=20 width=280 align="center" valign="top">
            <?requestPlayers?>
        </td>
    </tr>
</table>
По коду можно заметить что это окно сбора пати , пока количество сопортиицов и кандидатов мало то все норм потом начинает критовать клиент
Как я понял дело в каком то лимите обработки этого html, я так и не смог понять какой лимит всегда все по разному , может кто сталкивался и подскажет где его посмотреть
 
Решение
Chipercu, вот здесь вся нужная Вам инфа в "путь 1", сделайте свой параметр, и в обоих окнах проверку на него, допустим, дефолтно пусть с фолсом открьівается старое окно, а новое, когда шлете тру, профит.
Смотреть в NpcHtmMessage, если это диалог Npc (ограничение не в количестве строк, а в размере данных)
 
Здраствуйте! В общем столкнулся с такой проблемой, клиент вылетает если отправить ему html более 100 строк

Код:
<title>Моя группа</title>
<table border=0 width=280>

    <tr>
        <td height=40 width=280 valign="bottom" align="center" valign="top">
            <table background="l2ui_ct1.Windows_DF_TooltipBG">
                <tr>
                    <td FIXWIDTH=60 height=40 align="center" valign="top"><button value="Обновить" action="bypass -h party_maker:myGroup" width=60 height=32 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td>
                    <td FIXWIDTH=60 align="center" valign="top"><button value="Аннонс" action="bypass -h party_maker:announce" width=60 height=32 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td>
                    <td FIXWIDTH=40 align="center" valign="top"><?GroupIcon?></td>
                    <td FIXWIDTH=40 align="center" valign="top"><button value="" action="bypass -h party_maker:toLeader" width=32 height=32 back="icon.skill1429" fore="icon.skill1429"></td>
                    <td FIXWIDTH=60 align="center" valign="top"><button value="Удалить" action="bypass -h party_maker:deleteGroup" width=60 height=32 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td height=40 width=280 valign="bottom" align="center" valign="top"><br><?description?></td>
    </tr>
    <tr>
        <td height=20 width=280 align="center" valign="top">
            <table width=280 background="l2ui_ct1.Windows_DF_TooltipBG">
                <tr>
                    <td FIXWIDTH=40 height=20 align="center">Класс</td>
                    <td FIXWIDTH=140 align="center">Имя</td>
                    <td FIXWIDTH=2><img src="l2ui.squaregray" width=1 height=20></td>
                    <td FIXWIDTH=20 align="center">Ур.</td>
                    <td FIXWIDTH=2><img src="l2ui.squaregray" width=1 height=20></td>
                    <td FIXWIDTH=38 align="center">Инфо</td>
                    <td FIXWIDTH=3><img src="l2ui.squaregray" width=1 height=20></td>
                    <td FIXWIDTH=38 align="center"></td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td height=20 width=280 align="center" valign="top">
            <?leader?>
        </td>
    </tr>
    <tr>
        <center>
            <td height=20 align="center" valign="top"><br>Участники группы</td>
        </center>
    </tr>
    <tr>
        <td height=20 width=280 align="center" valign="top">
            <?acceptedPlayers?>
        </td>
    </tr>
    <tr>
        <center>
            <td height=20 align="center" valign="top"><br>Кандидаты на вступление в группу</td>
        </center>
    </tr>
    <tr>
        <td>
            <table width=280 background="l2ui_ct1.Windows_DF_TooltipBG">
                <tr>
                    <td FIXWIDTH=40 height=20 align="center">Класс</td>
                    <td FIXWIDTH=100 align="center">Имя</td>
                    <td FIXWIDTH=20 align="center">Ур.</td>
                    <td FIXWIDTH=40 align="center"></td>
                    <td FIXWIDTH=5><img src="l2ui.squaregray" width=1 height=15></td>
                    <td FIXWIDTH=40 align="center"></td>
                    <td FIXWIDTH=5><img src="l2ui.squaregray" width=1 height=15></td>
                    <td FIXWIDTH=40 align="center"></td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td height=20 width=280 align="center" valign="top">
            <?requestPlayers?>
        </td>
    </tr>
</table>
По коду можно заметить что это окно сбора пати , пока количество сопортиицов и кандидатов мало то все норм потом начинает критовать клиент
Как я понял дело в каком то лимите обработки этого html, я так и не смог понять какой лимит всегда все по разному , может кто сталкивался и подскажет где его посмотреть
или 8192 или 16384 символов в utf-16 лимит, точно не скажу. Проблема в клиенте - он не переваривает стоко данных.
 
или 8192 или 16384 символов в utf-16 лимит, точно не скажу. Проблема в клиенте - он не переваривает стоко данных.
есть какой то способ увеличить этот размер в клиенте?

По тому что я щас откопал в пакете отправки КБ страницы макс размер 8180 байтов , но в кб html делится на 3 пакета если больше этого размера, для NpcDialog пока не понял можно ли так же разбить
 
есть какой то способ увеличить этот размер в клиенте?

По тому что я щас откопал в пакете отправки КБ страницы макс размер 8180 байтов , но в кб html делится на 3 пакета если больше этого размера, для NpcDialog пока не понял можно ли так же разбить
Самьій изи вей - єто слать все в Кб с какой-то пометкой, а в интерфейсе отрисовьівать в нужном окне. 1708002154393.png
 
есть какой то способ увеличить этот размер в клиенте?

По тому что я щас откопал в пакете отправки КБ страницы макс размер 8180 байтов , но в кб html делится на 3 пакета если больше этого размера, для NpcDialog пока не понял можно ли так же разбить
никак. Как вариант перейти на клиент Lindvior или выше.
Я знаю на протоколах выше есть возможность путем модификаций клиента отправлять около 2мб текста, но там разделение идёт и грубо говоря это разные пакеты.
 
есть какой то способ увеличить этот размер в клиенте?

По тому что я щас откопал в пакете отправки КБ страницы макс размер 8180 байтов , но в кб html делится на 3 пакета если больше этого размера, для NpcDialog пока не понял можно ли так же разбить
Можно создать метод сжатия данных в ядре, и передавать уже сжатую инфу. Это увеличит допустимые размеры как минимум в 2 раза.
 
Спасибо всем кто ответил ) Еще один вопрос тогда, сделал еще одно окно в интерфесе, только ни как не могу понять каким оброзом отправить данные именно ей, у меня открывается сразу и NpcDialog и моя новая окно.
Если я правильно понял то обработчик входных пакетов в клиенте вызывает метод OnEvent всех подписанных скриптов,
в данном случае EV_NPCDialogWndShow = 3270; мое новое окно тоже подписывается на это событье , каким образом я могу отправить тот же пакет с сервера - клиенту но при этом что бы открывалось только новое окно (только когда мне это надо)
 
Chipercu, вот здесь вся нужная Вам инфа в "путь 1", сделайте свой параметр, и в обоих окнах проверку на него, допустим, дефолтно пусть с фолсом открьівается старое окно, а новое, когда шлете тру, профит.
 
Решение
Chipercu, вот здесь вся нужная Вам инфа в "путь 1", сделайте свой параметр, и в обоих окнах проверку на него, допустим, дефолтно пусть с фолсом открьівается старое окно, а новое, когда шлете тру, профит.
Спасибо тебе добрый человек) столько роюсь по форуму и не наткнулся на эту тему)
 
  • Мне нравится
Реакции: Rolo
Спасибо тебе добрый человек) столько роюсь по форуму и не наткнулся на эту тему)

Я думаю в твоем случае как то так в NPCDialogWnd.u, не точно но думаю в функцию HandleLoadHtmlFromString(string param) добавь это)

C++:
   local string strTitle;

      ParseString(param, "Title", strTitle);

   if (strTitle ~= "Моя группа") {
           //Закроем все окна  NPCDialogWnd
           //И покажем только мое
      }
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу