Если хотите длиннющую строку, не делайте её из строки, а из массива байт, тем более указатель указывает на первый байт чего угодно
Вид для печати
Если хотите длиннющую строку, не делайте её из строки, а из массива байт, тем более указатель указывает на первый байт чего угодно
Если сами принимаемые/отправляемые строки меньше 255, т.е. интервал между нулями всегда меньше 256, то для нарезки из длиннющего склеенного буфера хватит и стандарта с syslibmemом
Увлечение сислибмемом иногда приводит к глюкам проекта, но тут не это главное, зачем в плк посты слать,достаточно гета, изначально послали все вместе и логин и пароль и плк либо ответит либо страничку с фигой откроет
Глюков с сислибмемом пока не обнаруживал. Исключение - sysmemalloc, когда с ним до середины Днепра ...
А тут сообсно только sysmemmove и нужно. С ней нереально глюкнуть.
Ну код с последовательным выделением из буфера за мин.цикл до одной строки (<255), а приемом склейки любой длины (в рамках буфера ессно) займет примерно столько же букв сколько в этом предложении.
А на плк syssockrecv присылает только строго -1 или >1 ?
А гет - это что ? :(
А какая разница /GET или /POST все одно просто пост в строке браузер не виден, а так…все вроде одинаково
Вроде так.
С сокетом разобрался остался только клей победить , Всем спасибо.
Да наверное так и буду, че то не хочется во всякий там mem лезть.Цитата:
делайте её из строки, а из массива байт
Я, еще не очень понимаю ресурс памяти плк,
как я понял под массивы выделено 65кб, а в эти 65 кб еще какие переменные входят?
Я, прикинул, что если пакеты не будут успевать улитеть, сделать буфер круговой в 100 строк по 255 байт.
это уже скушает половину. У меня в плк отменен АКБ как факт, ретайны просто пишутся в файл,
(инструкции очень-очень редко) при загрузки этот файлик пишу в массив – тут тож 3-5кб скушает.
Веб сервер, вроде простенький но не хотса его в файлах хранить, это еще 3-5кб.
Тут так потихоньку, и полны карманы будут.
Не могу понять 65кб, это на все POU и FB или в каждом можно использовать по 65кб?, тут бы я успокоился.
А сколько максимум в массивах можно использовать?
При компиляции пишет использовано данных 1000 из 131072 байт. Это-то что? Добавляю в проект
Строковую переменную, компилирую, как была 1000 так и осталась?
А не кто не побывал Broadcast кидать в рутер и ловить с него чего полезного?
Слушайте, с такими запросамиВы бы комп использовали под веб-сервер,меньше гемора
А по поводу объема данных,есть же пример,где страницы хранятся в виде файлов и если что то нужно отправить клиенту,подгружается только то что нужно в фиксированный по размеру буффер
Чтоб при запрлсах гет ни чего небыло видно в строке,пользуйтесь аяксом
Был бы нужен комп – взял бы комп.
А запросов-то тут всего ничего.
Создал 7 POU d в каждом дает по 64к забрать. Главное чтоб в этом геморроя какого не оказалось!?
За аякс спасибо, че-то меня пугало изначально, но терь нет.
Создал 7 POU d в каждом дает по 64к забрать. Главное чтоб в этом геморроя какого не оказалось!?
Это я тут начудил. 7*64к ни как нормально не лезит - 131к max. (в офлайне красота, хоть теробайт заберай :) )
Ну зато понял, че откудо выделяется :)
Вот наткнулся на этот косяк.Цитата:
ну как бы такой ерундой ни кто не занимается. Вы бы для начала объяснили для чего Вам это нужно, так то по ТСР до 1500 байт можно за раз передать
Web сервер на plc 150.
Обрывает пакет (собстно html странички) более 1600.
Как победить если моя html страничка больше этого размера?
Спасибо.
Смотрел пример веб сервера там index 3k и прилетает, не смог понять как там реализованно передача пакета более 1,5к..................?
Всем привет.
Создаю TCP сокет, делаю коннект и отправляю буфер, всё приходит и работает.
Если я не отправляю с плк ничего более 10 секунд, то происходит отключение.
Где этот таймаут?
Мне нужно чтобы этот плк не отваливался при простое.
Спасибо