Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 24

Тема: ПЛК100 по TCP теряет последний пакет при длине >512 байт

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

    По умолчанию

    я вот читаю переписку, никак в толк не возьму, какое отношение имеет SYN,ACK,FIN к конкретному протоколу FTP. Это касается любых пакетов передаваемых по Ethernet в плк, возможно это чем то поможет
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  2. #12

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    а почему фтп делает FIN до аск от ПЛК?Да ещё и с данными.
    Как же без ACK? пакет №6321 - ACK от ПЛК, затем фтп шлет FIN,PSH,ACK.

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Shutdown в сокете делаете?
    SysSockShutdown делаю, после нескольких секунд без изменения буфера (как в бибке oscat.de по умолчанию)

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение

    И как Вы понимаете, что в буфере нет или часть пакета? Они recv могут выдаваться по частям. и не мгновенно.
    SysSockRecv постоянно повторяется и смотрю буфер - приходят только первые 536 байт на прошивке 2.17. На остальных прошивках приходят все байты, кроме последнего пакета. На всех прошивках программа в ПЛК не меняется, фтп сервер тот же. А от прошивки зависит приходящее число байт.

    То есть на прошивке 2.17 появился ответ ACK, которого не было на прошлых прошивках, но такое ощущение, что теперь PSH перестал работать, то есть не пробрасывает данные в клиентское приложение.
    Последний раз редактировалось Атаман; 15.05.2017 в 14:57.

  3. #13

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    я вот читаю переписку, никак в толк не возьму, какое отношение имеет SYN,ACK,FIN к конкретному протоколу FTP. Это касается любых пакетов передаваемых по Ethernet в плк, возможно это чем то поможет
    Все серверы фтп, которые я пробовал, последнюю порцию данных пересылают одновременно с флагом FIN в пакете, как пишут в интернетах для ускорения обмена. И этот пакет не приходил. Эмуляция фтп сервера с помощью программы Hercules показала, что без передачи данных вместе с пакетом FIN - всё приходит полностью. Это было до прошивки 2.17. На прошивке 2.17 наоборот приходит только первый пакет.
    Последний раз редактировалось Атаман; 15.05.2017 в 14:57.

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

    По умолчанию

    вот лабораторная, расписывается нечто подобное. На Вашем последнем скрине концовка вроде верная, за исключением что 46.50 посылает разрыв соединения, так может дело в пользовательском коде
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  5. #15

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    На Вашем последнем скрине концовка вроде верная, за исключением что 46.50 посылает разрыв соединения, так может дело в пользовательском коде
    Так код один, а при смене прошивок приходит разное количество байт, причем с постоянной закономерностью.

    А почему 46.50 не должен слать разрыв соединения, если он получил FIN?

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

    По умолчанию

    потому что они оба перед этим подтвердили бит FIN, но не их задача знать закрыл пользователь сокет или нет
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  7. #17

    По умолчанию

    Во первых хотелось бы увидеть проект и ПО для эмуляции, к-е Вы используете. Чтобы повторить у нас.
    Разница между 2.14 и 2.17 - MTU увеличили.
    Малые пакеты проходят?
    Тролль-наседка, добрый, нежный и ласковый

  8. #18

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Во первых хотелось бы увидеть проект и ПО для эмуляции, к-е Вы используете. Чтобы повторить у нас.
    Разница между 2.14 и 2.17 - MTU увеличили.
    Малые пакеты проходят?
    ftp сервер: https://filezilla-project.org/download.php?type=server или ftp server в windows 8.1.
    ftp клиент во вложении.

    Также эмулировал работу ftp server через hercules: http://www.hw-group.com/products/hercules/index_en.html
    C ним проходили любые пакеты и маленькие и большие на прошивке 2.14, лог в первом посте. У Hercules не было пакетов с 3мя флагами: FIN, PSH, ACK.
    Вложения Вложения

  9. #19

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    потому что они оба перед этим подтвердили бит FIN, но не их задача знать закрыл пользователь сокет или нет
    Вы имеете ввиду RST? Он появляется как видно по первому посту с прошивки 2.15. В 2.14 обходится без резетов.

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

    По умолчанию

    Цитата Сообщение от Атаман Посмотреть сообщение
    Вы имеете ввиду RST? Он появляется как видно по первому посту с прошивки 2.15. В 2.14 обходится без резетов.
    ни чего в этом такого нет, что разработчик пытается совершенствовать код, добавляем различную подстраховку. Про разные версии прошивки имело бы смысл упоминать, еслиб на какой то из них всё работало, а так то ведь ни на одной не принимается файл до конца, насколько я понял. Изначально моя мысль была, что фтп и тсп стоят на разных уровнях сетевой модели и прошивка ни чего не знает, по какому протоколу программист передает данные по сети, если такая проблема присутствует при передаче файла (как набора байт) с фтп-сервера, значит она бы проявила себя и при загрузке другого контента, хтмл например, иначе проблема в коде
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 23.09.2016, 15:18
  2. как отправить tcp пакет с плк?
    от villager в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 30.09.2010, 17:04
  3. плк100 теряет программу
    от YurySh в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 07.09.2009, 09:30
  4. Не могу получить последний OPC, спасибо pavel@owen.ru
    от незарегистрированный в разделе Трёп (Курилка)
    Ответов: 1
    Последнее сообщение: 06.03.2007, 17:34

Ваши права

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