Difference between revisions of "IPConnection.ConnectUSR1"
m (1 revision imported) |
1>Admin |
||
Line 17: | Line 17: | ||
== Синтаксис == | == Синтаксис == | ||
<code> | <code> | ||
− | {{Grey|IPConnection.}}'''ConnectUSR1'''(''<Адрес соединения (STRING)>'',''<Пароль USR1 соединения (STRING)>''{{Optional|,<Тип соединения (INT)>{{Default|{{Eq}}0}}}}):''<Новое соединение | + | {{Grey|IPConnection.}}'''ConnectUSR1'''(''<Адрес соединения (STRING)>'',''<Пароль USR1 соединения (STRING)>''{{Optional|,<Тип соединения (INT)>{{Default|{{Eq}}0}}}}):''<Новое соединение (IPOBJECT)>'' |
</code> | </code> | ||
Line 28: | Line 28: | ||
==== Возвращаемое значение ==== | ==== Возвращаемое значение ==== | ||
− | Возвращается новый объект IP. В случае, если соединение было успешным, объект соединен, иначе объект | + | Возвращается новый объект IP. В случае, если соединение было успешным, объект соединен, иначе объект неактивен. |
== Примеры == | == Примеры == |
Revision as of 18:42, 10 November 2021
ConnectUSR1 (Установка соединения) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция производит соединение TCP/IP с удаленным сервером по внутреннему протоколу системы. После соединения, обычно следующим шагом является объявление протокола USR1. При установке соединения всегда используется неблокирующий режим сокета, режим может быть изменен сразу после соединения с помощью атрибута IsBlocking.
Синтаксис
IPConnection.ConnectUSR1(<Адрес соединения (STRING)>,<Пароль USR1 соединения (STRING)>,<Тип соединения (INT)>=0):<Новое соединение (IPOBJECT)>
Аргументы
<Адрес соединения (STRING)>
- Адрес соединения задается в виде<Доменное имя сервера, адрес IPv4 или IPv6>[:<Номер порта>]
(примеры:127.0.0.1:80
,en.wikipedia.org:443
,москва.рф:443
,::1=80
). При указании IP адреса (xxx.xxx.xxx.xxx
илиxxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
), можно использовать квадратные скобки [, ] для отделения IP адреса от номера порта. Номер порта можно указывать после знака : или знака =, для IPv6 адресов можно использовать только знак = или использовать квадратные скобки, как разделитель, так как : занят для указания элементов адреса (примеры:127.0.0.1=80
,[::1]:443
). Если номер порта в адресе не задан, используется порт 13251. Доменное имя будет автоматически закодировано в формат Punycode, если в нем присутствуют международные символы.<Пароль USR1 соединения (STRING)>
- Аргумент задает пароль для соединения, международные символы не поддерживаются, длина пароля может быть произвольной.<Тип соединения (INT)>
- (необязательный аргумент) Указывает на тип (протокол) соединения. Нужно заметить, что если аргумент адрес соединения использует нотацию IPv6 или доменное имя возвратит только IPv6 адрес (у сервера отсутствует IPv4 адрес), значение этого аргумента будет проигнорировано и будет использован протокол IPv6, и наоборот, если тип соединения подразумевает IPv6, однако можно осуществить соединение только на IPv4, аргумент будет проигнорирован. Чтобы узнать, по какому протоколу осуществлено соединение, можно использовать атрибут IsIPv6. Доступны следующие значения аргумента:- 0 (по умолчанию) -- Будет использован протокол IPv4
- 1 -- Будет использован протокол IPv6
Возвращаемое значение
Возвращается новый объект IP. В случае, если соединение было успешным, объект соединен, иначе объект неактивен.
Примеры
//Пример соединения и инициации протокола USR1 Сокет:=IPConnection.ConnectUSR1(Сервер,Пароль); If Сокет.IsConnected() Then If not Сокет.SendCmd("USR1") Then Message("Сервер не принял режим USR1 (1)!","!"); Exit 0; EndIf; Комм:=Сокет.ReceiveCmd(); If Комм="BUSY" Then Message("Сервер занят!","!"); Exit 0; EndIf; If Комм<>"OK " Then Message("Сервер не принял режим USR1 (2)!","!"); Exit 0; EndIf; ... EndIf;