Difference between revisions of "IPConnection.Timeout"
m (1 revision imported) |
1>Admin |
||
Line 13: | Line 13: | ||
* [[Объекты]] | * [[Объекты]] | ||
* [[Объект IP]]}} | * [[Объект IP]]}} | ||
− | Функция получает или изменяет тайм-аут функций чтения или | + | Функция получает или изменяет тайм-аут функций чтения, записи или соединения, заданный в миллисекундах. При чтении или записи, если за указанное время, не удается получить (отослать) какую-либо часть данных, соединение будет считаться разорванным. Правильно установленный тайм-аут позволяет вовремя освобождать ресурсы сервера и уменьшать последствия возможных атак DOS. |
== Синтаксис == | == Синтаксис == | ||
Line 26: | Line 26: | ||
** '''1''' -- изменить тайм-аут для чтения. Функция возвращает предыдущий тайм-аут для чтения. | ** '''1''' -- изменить тайм-аут для чтения. Функция возвращает предыдущий тайм-аут для чтения. | ||
** '''2''' -- изменить тайм-аут для записи. Функция возвращает предыдущий тайм-аут для записи. | ** '''2''' -- изменить тайм-аут для записи. Функция возвращает предыдущий тайм-аут для записи. | ||
+ | ** '''3''' -- изменить тайм-аут для соединения (работает не со всеми видами прокси). Функция возвращает предыдущий тайм-аут соединения. По умолчанию, этот параметр равен 0 и соответствует установкам системы. | ||
==== Возвращаемое значение ==== | ==== Возвращаемое значение ==== |
Revision as of 13:05, 13 March 2024
Timeout (Тайм-аут передачи) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция получает или изменяет тайм-аут функций чтения, записи или соединения, заданный в миллисекундах. При чтении или записи, если за указанное время, не удается получить (отослать) какую-либо часть данных, соединение будет считаться разорванным. Правильно установленный тайм-аут позволяет вовремя освобождать ресурсы сервера и уменьшать последствия возможных атак DOS.
Синтаксис
IPConnection.Timeout(<Новый тайм-аут в мс. (INT)>,<Тип тайм-аута (INT)>=0):<Текущий тайм-аут функций чтения или записи в мс. (INT)>
Аргументы
<Новый тайм-аут в мс. (INT)>
- (необязательный аргумент) Задает новый тайм-аут указанного в следующем аргументе типа. Если аргумент опущен, тайм-аут не будет изменен.<Тип тайм-аута (INT)>
- (необязательный аргумент) Задает тип тайм-аута. Возможны следующие значения аргумента:- 0 (по умолчанию) -- изменить одновременно тайм-аут для чтения и записи. Функция возвращает предыдущий тайм-аут для чтения.
- 1 -- изменить тайм-аут для чтения. Функция возвращает предыдущий тайм-аут для чтения.
- 2 -- изменить тайм-аут для записи. Функция возвращает предыдущий тайм-аут для записи.
- 3 -- изменить тайм-аут для соединения (работает не со всеми видами прокси). Функция возвращает предыдущий тайм-аут соединения. По умолчанию, этот параметр равен 0 и соответствует установкам системы.
Возвращаемое значение
Возвращается предыдущее (текущее) значение тайм-аута указанного во втором аргументе типа.
Примеры
Сокет:=IPConnection.Connect("127.0.0.1:5555"); If not Сокет.IsConnected() Then Message("Сервер не отвечает","!"); Exit 0; EndIf; //Установить тайм-аут в 2 минуты Сокет.TimeOut(120000); Try Стр:=FileToString("c:\Test.txt",0); aBuf:=Buffer.Create(); If StringTypeStr(Стр)="ANSI" Then //ANSI, длина, строка aBuf.SetByte(0,0); aBuf.SetDword(1,Length(Стр)); Else //UTF-16, длина, строка aBuf.SetByte(0,1); aBuf.SetDword(1,Length(Стр)*2); EndIf; Сокет.SendBufferRaw(aBuf,0,5); Сокет.SendStrRaw(Стр,StringTypeStr(Стр)<>"ANSI"); Exit 1; Except Exit 0; EndTry;