Difference between revisions of "IPConnection.IsConnected"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:51, 7 February 2021
IsConnected (Статус соединения) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция возвращает единицу, если объект является TCP/IP сокетом и связь в данный момент установлена, иначе функция возвращает 0.
Синтаксис
IPConnection.IsConnected():<Установлена ли связь (INT)>
Возвращаемое значение
Возвращается целое число.
Примеры
//Пример показывает, как можно осуществить загрузку веб-страницы по ее адресу. //Для загрузки по протоколу https требуется указание пути к библиотекам OpenSSL или LibreSSL. Function LoadPage(URL) bHTTPs:=pos("https://",Lowercase(URL)); If pos("//",URL)>0 Then tearStr(URL,"//"); EndIf; СтрДоб:=URL; URL:=tearStr(СтрДоб,"/"); //URL может содержать название параграфа СтрДоб:=TearStr(СтрДоб,"#"); For i:=1 to 3 Do if bHTTPs Then tcp:=IPConnection.Connect(URL+?(Pos(":",URL)+Pos("=",URL)=0,"=443"),1); Else tcp:=IPConnection.Connect(URL+?(Pos(":",URL)+Pos("=",URL)=0,"=80")); EndIf; if tcp.IsConnected Then Break; EndIf; EndDo; if not tcp.IsConnected Then Message("Could not connect: "+URL,"!"); Exit; EndIf; СтрДоб:="/"+СтрДоб; if bHTTPs then //tcp.InitEncryption("LibreSSL","C:\LibreSSL255\libtls-15.dll"); tcp.InitEncryption("OpenSSL","C:\OpenSSL111e\libssl-1_1.dll"); endif; tcp.HTTPSetOperation("GET "+СтрДоб+" HTTP/1.0"); tcp.HTTPSetHeaderField("Host",tcp.HTTPPunycodeEncode(URL)); tcp.HTTPSetHeaderField("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"); tcp.HTTPSetHeaderField("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); tcp.HTTPSetHeaderField("Accept-Language","en"); tcp.HTTPSetHeaderField("Connection","Close"); Стр:=""; Try If tcp.HTTPSendAndReceive Then Стр:=tcp.HTTPBodyAsString; If _And(Pos(_NEWLINE,Стр)=0,Pos(Chr(10),Стр)>0) Then Стр:=Replace(Стр,Chr(10),_NEWLINE); EndIf; EndIf; Except Message("Could not load: "+URL,"!"); EndTry; Exit Стр; EndFunction s:=LoadPage("https://en.wikipedia.org/wiki/Main_Page"); Message(s);