Страница 4 из 5 ПерваяПервая ... 2345 ПоследняяПоследняя
Показано с 31 по 40 из 46

Тема: TCP клиент на SysLibSockets

  1. #31
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Итак, при запуске должен открываться сокет с handle=1, 0-й занят средой CoDeSys.
    Если при открытии 1 сокета handle=2 - что-то тут не так.

    Учтите, что listen->accept позвращает тот-же handle, т.е. как в винде нельзя поступать - открыть сокет, поставить в listen и плодить сокеты по приходящим соединениям.
    1 сокет - 1 и только 1 соединение.
    Насколько я помню, вроде плк 160, открывает с 11 дескриптора и до 16. Как тут тогда быть?

  2. #32

    По умолчанию

    Беда, конечно, что каждый ПЛК ведет себя по-разному, а под рукой нет другого, чтобы проверить...

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

    По умолчанию

    Цитата Сообщение от Carter Посмотреть сообщение
    Беда, конечно, что каждый ПЛК ведет себя по-разному, а под рукой нет другого, чтобы проверить...
    так если Вы в самом начале например открыли сокет и не продумали на тот момент о закрытии, он так и будет постоянно занят пока не произведете сброс плк, а открываться будет уже только следующий
    так что ведут себя по разному это от программиста тоже зависит
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  4. #34

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    это от программиста тоже зависит
    Замечание ваше справедливо, себя не оправдываю, действительно мало опыта. Цель всех моих вопрос понять, где мои ошибки, а где поведение ПЛК.
    Почему сокет открывается со 2-го десткриптора разобрался, но вот почему сокет читается "через раз" с дескриптором 1 так и не понял.

  5. #35

    По умолчанию

    Программу то приведите, чего мы тут гадаем. На ПЛК100 мы даже WEB-сервер делали многопользовательский с визуализацией и графиками. Так что сокеты рабочие, но есть нюансы.
    Тролль-наседка, добрый, нежный и ласковый

  6. #36

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Программу то приведите, чего мы тут гадаем. На ПЛК100 мы даже WEB-сервер делали многопользовательский с визуализацией и графиками. Так что сокеты рабочие, но есть нюансы.
    Вот, собственно, ФБ и пару функций, которыми пользуюсь, ФБ многим знаком, из оскатовской библиотеки.
    TCP_CONTROL.zip

  7. #37

    По умолчанию

    Эммм... что то у вас с переходом из step:=0;в step:=1; зачем прыгать туда-сюда из цикла в цикл? Принимайте (то есть будте в step:=1) пока не примите или не выйдет таймаут. Ну и с передачей собственно так же )
    Последний раз редактировалось lazy; 09.10.2015 в 15:57.

  8. #38

    По умолчанию

    Цитата Сообщение от lazy Посмотреть сообщение
    Эммм... что то у вас с переходом из step:=0;в step:=1; зачем прыгать туда-сюда из цикла в цикл? Принимайте (то есть будте в step:=1) пока не примите или не выйдет таймаут. Ну и с передачей собственно так же )
    Суть в том, что не всегда получается прочитать то, что отправил с сервера. Пробовал оставить в цикле только чтение, результат тот же.

  9. #39

    По умолчанию

    и все таки: передаем - передали? да - принимаем - приняли? да - передаем. инициатором обмена должен быть клиент. сервак "слушает и отвечает" (это я к тому что "оставил в цикле только чтение" )
    попробуйте вместо TcpReceiveData result:= SysSockRecv( diSocket, ADR(byBuffer[0]), 100,0);
    у вас "сервак" шлет данные с какой периодичностью? может сервак передает а сокет закрылся по ready и(или) errcheck?
    Последний раз редактировалось lazy; 09.10.2015 в 16:51.

  10. #40

    По умолчанию

    Цитата Сообщение от lazy Посмотреть сообщение
    у вас "сервак" шлет данные с какой периодичностью? может сервак передает а сокет закрылся по ready и(или) errcheck?
    Сервер не отвечает на посылки, пока такой алгоритм, НО я могу с сервера в произвольный момент времени отправить данные, на которые должен отреагировать клиент, если они не доходят с первого раза, то придется "долбить" клиента, чего не совсем хочется.

    И еще, пока я буду ждать от сервера ответа(который может и не придти), как в нынешней ситуации, то у меня сокет по таймауту закрывается, безысходность какая-то...

Страница 4 из 5 ПерваяПервая ... 2345 ПоследняяПоследняя

Похожие темы

  1. ПЛК100 TCP клиент
    от DmitriyFara в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 08.04.2015, 12:13
  2. TCP клиент - ПЛК100
    от DmitriyFara в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 28.03.2015, 16:54
  3. SysLibSockets
    от osipov86 в разделе Сетевые технологии
    Ответов: 18
    Последнее сообщение: 27.01.2014, 18:43
  4. FTP клиент на ОВЕН ПЛК
    от Jumo в разделе Сетевые технологии
    Ответов: 12
    Последнее сообщение: 05.09.2011, 07:27

Ваши права

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