Инструкция Establish Connection (CE)
Описание
(см. описание формата инструкций здесь)
| Назначение: | Заставляет DS установить соединение передачи данных с сетевым хостом |
| Формат команды параметра (P): | PCE или PCExxx.xxx.xxx.xxx/ppppp, где |
xxx.xxx.xxx.xxx - IP-адрес сетевого хоста-получателя;
ppppp - номер порта на стороне получателя в диапазоне 0-65535
| Возможные ответы: | A, C, R |
| Условия применимости: | Текущий Routing Mode (RM) [настройка/ параметр] = 1 (сервер/клиент) или 2 (клиент) |
| Впервые появилось: | Раньше «baseline» V3.14/V3.51 |
| См. также: | Ethernet-порт и сетевые соединения |
Подробности
Инструкция Establish Connection заставляет DS установить исходящее соединение с сетевым хостом. Транспортный протокол (UDP или TCP) определяется текущим Transport Protocol (TP) [настройка / параметр ].
Инструкция имеет два варианта синтаксиса: с полями IP-адреса и номера порта получателя и без них. Оба поля должны быть либо указаны, либо опущены, в теле команды не может присутствовать только одно из них.
Если указаны поля IP-адреса и номера порта получателя, они интерпретируются точно так же, как поля данных в параметре Destination IP-address (DI) и параметре Destination Port Number (DP), то есть переопределяют настройку Destination IP-address (DI) и настройку Destination Port Number (DP). Это значит, что отправка команды PCE xxx.xxx.xxx.xxx / ppppp равнозначна отправке команды PDI xxx.xxx.xxx.xxx, затем PDP ppppp, и после этого команды PCE.
Если поля получателя не переданы, DS будет подключаться к следующим IP-адресу и номеру порта:
- если с момента последней отправки команд PDI (параметр Destination IP-address (DI)) и PDP (параметр Destination Port Number (DP)) DS не получал входящих соединений от других сетевых хостов, DS попытается подключиться к IP-адресу и номеру порта, заданным этими последними командами PDI и PDP;
- если (с момента последних команд PDI и PDP) DS принял входящее соединение передачи данных, DS заново считает значения настройки Destination IP-address (DI) и настройки Destination Port Number (DP) и попытается подключиться к хосту-получателю, заданному этими настройками.
Соединения TCP устанавливаются обычным способом, с обменом SYN-SYN-ACK с сетевым хостом. «Соединения» UDP устанавливаются отправкой UDP-датаграммы нулевой длины.
Код ответа OK (A) возвращается, если команда принята. Это не значит, что соединение передачи данных уже установлено, только что DS принял команду. Фактическое состояние соединения можно проверить в любой момент с помощью команды Echo (X) (см. флаг c). Фактические IP-адрес и номер порта хоста-получателя, с которым DS установил соединение передачи данных, можно проверить с помощью команды Status (U).
Код ответа Error (C) возвращается, если данные в команде некорректны (или присутствует только одно из полей данных). Код ответа Rejected (R) возвращается, если:
- команда отправлена, когда IP-адрес DS настроен некорректно (настройка DHCP (DH) равна 1 (включена), а DS ещё не получил IP-адрес от DHCP-сервера);
- текущее состояние соединения передачи данных не «closed». Сначала закройте (или разорвите) соединение с помощью инструкции Close Connection (CC) или инструкции Abort Connection (CA);
- текущий Routing Mode (RM) [настройка/ параметр] равен 0 (сервер), поскольку в этом состоянии DS не может устанавливать исходящие соединения.