Закрытие порта

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Ответить
anda55
assistant
assistant
Сообщения: 149
Зарегистрирован: 19 янв 2012, 10:15
Версия LabVIEW: 2010-2012
Откуда: Киев
Контактная информация:

Закрытие порта

Сообщение anda55 »

Привет
Есть вопрос.
У меня программа обменивается с другими устройствами по протоколу TCP/IP.
Для соединения я сначала выставляю IP адрес , а затем № порта.
Для разъединения используется "TCP Close Connection".
Но по некоторым признакам я вижу, соединение закрыто, а порт остался открытым.
Как можно закрыть открытый порт,
С уважением
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Закрытие порта

Сообщение IvanLis »

anda55 писал(а):Но по некоторым признакам я вижу, соединение закрыто, а порт остался открытым.
Как можно закрыть открытый порт
По идее Вы и не открываете порт, а устанавливаете соединение.
Потом соединение разрываете.

Закрытием и открытием портов TCP вы и не занимаетесь, это мне кажется задача OS и FireWall.
anda55
assistant
assistant
Сообщения: 149
Зарегистрирован: 19 янв 2012, 10:15
Версия LabVIEW: 2010-2012
Откуда: Киев
Контактная информация:

Re: Закрытие порта

Сообщение anda55 »

Соединение происходит по GPRS каналу.
Если в VI закрываю соединение, а программа работает, то на другой стороне устройство не видит , что соединение закрыто.
А если я останавливаю программу VI, то видит.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Закрытие порта

Сообщение IvanLis »

anda55 писал(а):Соединение происходит по GPRS каналу.
Если в VI закрываю соединение, а программа работает, то на другой стороне устройство не видит , что соединение закрыто.
А если я останавливаю программу VI, то видит.
Если это не секретные разработки, то покажите программу.
Или хотя бы скрины, где происходит инициализация соединения, передача и разрыв.
И приемную часть, инициализация, ожидание, соединение, разрыв.

Что значит "видит"?
На приемной стороне в любом случае ошибка должна выскочить, хотя бы по TimeOut, если там конечно не -1 стоит.

Посмотрите пример Data Client / Data Server
Это конечно примитивный вариант, но есть от чего оттолкнуться.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Закрытие порта

Сообщение IvanLis »

Почитайте материал: http://mm.lti-gti.ru/informatics/sys2/10.htm
Там ближе к концу есть раздел: Организация связи между процессами с помощью установки логического соединения
Там же представлена: Рис. 15-16.7. Схема взаимодействия клиента и сервера для протокола TCP
Изображение
anda55
assistant
assistant
Сообщения: 149
Зарегистрирован: 19 янв 2012, 10:15
Версия LabVIEW: 2010-2012
Откуда: Киев
Контактная информация:

Re: Закрытие порта

Сообщение anda55 »

Спасибо IvanLis
У меня программа работает. Вопрсов нет.
Связь осуществляется по GPRS каналу.
На стороне Сервера работае программа под LV
А на стороне клиента находится модем MC55i,
Если я на стороне Сервера закрываю TCP/IP соединение (TCP Close Connection), а программа работает , то на стороне клиента никакой ошибки не возникает.
Если я на стороне Сервера останавливаю программу то на стороне клиента, возникает ошибка, которую я анализирую.
Поэтому я подумал, на стороне Сервера, попробовать закрывать TCP/IP соединение (TCP Close Connection) и одновременно закрывать порт, а программу не останавливать. И на стороне клиента поймать ту же ошибку
С ув
Александр
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Коммуникация с приборами»