Страница 6 из 8 ПерваяПервая ... 45678 ПоследняяПоследняя
Показано с 51 по 60 из 75

Тема: SysSockCreate

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,269

    По умолчанию

    Ну я ж просто упростить код со стороны ПЛК предложил, если съём < 251 байт за раз. И раз уж все равно TCP, думаю что то же самое со временем и через syslibsocket
    Последний раз редактировалось Валенок; 10.12.2013 в 21:28.

  2. #2

    По умолчанию

    У меня уж мусора нет и с развалом пакетов разобрался, и не развал был.
    Эта мая первая такая работа с плк, невнимательно делаю видимо.

    Но этот клей как-то зараза достал. Всего-то осталось е-мое.

    Вот еще какая мысля есть может посоветуете че.

    Работа со строками, тут понял что искать клеить и.т.д операции со строками полное фуфло если она больше 255.
    Увидел это тока когда веб сервер собирал, хотя потом в хелпе нашел.
    А как правильно та с длинными работать, в ОЗУ?

    Далее
    Вот этот кусок

    IF Buff_Send <> '' THEN
    Size_Send:=SysSockSend(hSocket, ADR(Buff_Send), LEN(Buff_Send)+1, 0 );
    Buff_Send:=''; !!!! Вот это я затираю строку, и длину хочу 0 – это я правильно делаю?

    Может тут какая зараза сидит.

    Может задержка нужна Buff_Send:=''; ? Может там что-то друг на дружку лезет?

    Дело в том что я собирал веб сервер, первый ответ длинны№1 далее идет POST для запроса пароля, он чуть меньше
    Чем №1 я там то же выполняю Buff_Send:=''; он его затирает, но когда приходит POST с паролем и логином а он заведомо
    Меньше в весь прием = длинны №1 и мне сам пасворд в конце не отловить, т.к в следующим за ним мусоре может быть тег password.

    Может я через жоу со строками? Не подскажите как массив из char сотворить, тут вроде char нет но как-то же вы с этим боретесь?
    Вот в оскатовских бибка видел, там можно типа че - не нужное порезать, но не пробовал. Т.к не пойму почему они у меня
    Ругались-ругались, а потом перестали и все три штуки прикрутились, пока че-то не совсем доверяю.

    Ну и еще вопросик : плк, если не че не шлет клиенту раз в 7 секунд то рвет связь – это нормально или косяк искать?

  3. #3
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,257

    По умолчанию

    Если хотите длиннющую строку, не делайте её из строки, а из массива байт, тем более указатель указывает на первый байт чего угодно

  4. #4
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,269

    По умолчанию

    Если сами принимаемые/отправляемые строки меньше 255, т.е. интервал между нулями всегда меньше 256, то для нарезки из длиннющего склеенного буфера хватит и стандарта с syslibmemом

  5. #5
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,257

    По умолчанию

    Увлечение сислибмемом иногда приводит к глюкам проекта, но тут не это главное, зачем в плк посты слать,достаточно гета, изначально послали все вместе и логин и пароль и плк либо ответит либо страничку с фигой откроет

  6. #6
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,269

    По умолчанию

    Глюков с сислибмемом пока не обнаруживал. Исключение - sysmemalloc, когда с ним до середины Днепра ...
    А тут сообсно только sysmemmove и нужно. С ней нереально глюкнуть.
    Ну код с последовательным выделением из буфера за мин.цикл до одной строки (<255), а приемом склейки любой длины (в рамках буфера ессно) займет примерно столько же букв сколько в этом предложении.
    А на плк syssockrecv присылает только строго -1 или >1 ?
    А гет - это что ?
    Последний раз редактировалось Валенок; 10.12.2013 в 23:26.

  7. #7

    По умолчанию

    А какая разница /GET или /POST все одно просто пост в строке браузер не виден, а так…все вроде одинаково
    Вроде так.
    С сокетом разобрался остался только клей победить , Всем спасибо.

    делайте её из строки, а из массива байт
    Да наверное так и буду, че то не хочется во всякий там mem лезть.

    Я, еще не очень понимаю ресурс памяти плк,
    как я понял под массивы выделено 65кб, а в эти 65 кб еще какие переменные входят?
    Я, прикинул, что если пакеты не будут успевать улитеть, сделать буфер круговой в 100 строк по 255 байт.
    это уже скушает половину. У меня в плк отменен АКБ как факт, ретайны просто пишутся в файл,
    (инструкции очень-очень редко) при загрузки этот файлик пишу в массив – тут тож 3-5кб скушает.
    Веб сервер, вроде простенький но не хотса его в файлах хранить, это еще 3-5кб.
    Тут так потихоньку, и полны карманы будут.
    Не могу понять 65кб, это на все POU и FB или в каждом можно использовать по 65кб?, тут бы я успокоился.
    А сколько максимум в массивах можно использовать?

    При компиляции пишет использовано данных 1000 из 131072 байт. Это-то что? Добавляю в проект
    Строковую переменную, компилирую, как была 1000 так и осталась?

    А не кто не побывал Broadcast кидать в рутер и ловить с него чего полезного?

  8. #8
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,257

    По умолчанию

    Слушайте, с такими запросамиВы бы комп использовали под веб-сервер,меньше гемора
    А по поводу объема данных,есть же пример,где страницы хранятся в виде файлов и если что то нужно отправить клиенту,подгружается только то что нужно в фиксированный по размеру буффер
    Чтоб при запрлсах гет ни чего небыло видно в строке,пользуйтесь аяксом

  9. #9

    По умолчанию

    Был бы нужен комп – взял бы комп.
    А запросов-то тут всего ничего.
    Создал 7 POU d в каждом дает по 64к забрать. Главное чтоб в этом геморроя какого не оказалось!?
    За аякс спасибо, че-то меня пугало изначально, но терь нет.

  10. #10

    По умолчанию

    Создал 7 POU d в каждом дает по 64к забрать. Главное чтоб в этом геморроя какого не оказалось!?

    Это я тут начудил. 7*64к ни как нормально не лезит - 131к max. (в офлайне красота, хоть теробайт заберай )
    Ну зато понял, че откудо выделяется

Страница 6 из 8 ПерваяПервая ... 45678 ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •