Привет
Есть вопрос.
У меня программа обменивается с другими устройствами по протоколу TCP/IP.
Для соединения я сначала выставляю IP адрес , а затем № порта.
Для разъединения используется "TCP Close Connection".
Но по некоторым признакам я вижу, соединение закрыто, а порт остался открытым.
Как можно закрыть открытый порт,
С уважением
Закрытие порта
-
IvanLis
- guru
- Сообщения: 5461
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 27 раз
- Поблагодарили: 86 раз
Re: Закрытие порта
По идее Вы и не открываете порт, а устанавливаете соединение.anda55 писал(а):Но по некоторым признакам я вижу, соединение закрыто, а порт остался открытым.
Как можно закрыть открытый порт
Потом соединение разрываете.
Закрытием и открытием портов TCP вы и не занимаетесь, это мне кажется задача OS и FireWall.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- assistant
- Сообщения: 149
- Зарегистрирован: 19 янв 2012, 10:15
- Версия LabVIEW: 2010-2012
- Откуда: Киев
- Контактная информация:
Re: Закрытие порта
Соединение происходит по GPRS каналу.
Если в VI закрываю соединение, а программа работает, то на другой стороне устройство не видит , что соединение закрыто.
А если я останавливаю программу VI, то видит.
Если в VI закрываю соединение, а программа работает, то на другой стороне устройство не видит , что соединение закрыто.
А если я останавливаю программу VI, то видит.
-
IvanLis
- guru
- Сообщения: 5461
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 27 раз
- Поблагодарили: 86 раз
Re: Закрытие порта
Если это не секретные разработки, то покажите программу.anda55 писал(а):Соединение происходит по GPRS каналу.
Если в VI закрываю соединение, а программа работает, то на другой стороне устройство не видит , что соединение закрыто.
А если я останавливаю программу VI, то видит.
Или хотя бы скрины, где происходит инициализация соединения, передача и разрыв.
И приемную часть, инициализация, ожидание, соединение, разрыв.
Что значит "видит"?
На приемной стороне в любом случае ошибка должна выскочить, хотя бы по TimeOut, если там конечно не -1 стоит.
Посмотрите пример Data Client / Data Server
Это конечно примитивный вариант, но есть от чего оттолкнуться.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
IvanLis
- guru
- Сообщения: 5461
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 27 раз
- Поблагодарили: 86 раз
Re: Закрытие порта
Почитайте материал: http://mm.lti-gti.ru/informatics/sys2/10.htm
Там ближе к концу есть раздел: Организация связи между процессами с помощью установки логического соединения
Там же представлена: Рис. 15-16.7. Схема взаимодействия клиента и сервера для протокола TCP
Там ближе к концу есть раздел: Организация связи между процессами с помощью установки логического соединения
Там же представлена: Рис. 15-16.7. Схема взаимодействия клиента и сервера для протокола TCP
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- assistant
- Сообщения: 149
- Зарегистрирован: 19 янв 2012, 10:15
- Версия LabVIEW: 2010-2012
- Откуда: Киев
- Контактная информация:
Re: Закрытие порта
Спасибо IvanLis
У меня программа работает. Вопрсов нет.
Связь осуществляется по GPRS каналу.
На стороне Сервера работае программа под LV
А на стороне клиента находится модем MC55i,
Если я на стороне Сервера закрываю TCP/IP соединение (TCP Close Connection), а программа работает , то на стороне клиента никакой ошибки не возникает.
Если я на стороне Сервера останавливаю программу то на стороне клиента, возникает ошибка, которую я анализирую.
Поэтому я подумал, на стороне Сервера, попробовать закрывать TCP/IP соединение (TCP Close Connection) и одновременно закрывать порт, а программу не останавливать. И на стороне клиента поймать ту же ошибку
С ув
Александр
У меня программа работает. Вопрсов нет.
Связь осуществляется по GPRS каналу.
На стороне Сервера работае программа под LV
А на стороне клиента находится модем MC55i,
Если я на стороне Сервера закрываю TCP/IP соединение (TCP Close Connection), а программа работает , то на стороне клиента никакой ошибки не возникает.
Если я на стороне Сервера останавливаю программу то на стороне клиента, возникает ошибка, которую я анализирую.
Поэтому я подумал, на стороне Сервера, попробовать закрывать TCP/IP соединение (TCP Close Connection) и одновременно закрывать порт, а программу не останавливать. И на стороне клиента поймать ту же ошибку
С ув
Александр
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 0 Ответы
- 486 Просмотры
-
Последнее сообщение Juri