Difference between revisions of "IPConnection.SendBufferRaw"
(→Примеры) |
m (1 revision imported) |
(No difference)
| |
Latest revision as of 07:51, 7 February 2021
| SendBufferRaw (Обмен данными) | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
TCP/IP функция отсылает данные из буфера по установленному соединению. Длина данных не отсылается. Функцию можно использовать как для блокирующих, так и для не блокирующих соединений. Если соединение будет разорвано до успешной отправки данных, функция вызовет исключение.
Синтаксис
IPConnection.SendBufferRaw(<Буфер для отправки информации (BUFFER)>,<Начальная позиция буфера (INT)>=0,<Размер отправляемых данных в байтах (INT)>)
Аргументы
<Буфер для отправки информации (BUFFER)>- Буфер, содержимое которого будет передано с помощью установленного соединения.<Начальная позиция буфера (INT)>- (необязательный аргумент) Начальная позиция в буфере, для отсылки информации. По умолчанию, 0.<Размер отправляемых данных в байтах (INT)>- (необязательный аргумент) Размер в байтах, для отсылки информации. По умолчанию, до конца буфера.
Примеры
//Пример SendBufferRaw
Сокет:=IPConnection.Connect("127.0.0.1:5555");
If not Сокет.IsConnected() Then
Message("Сервер не отвечает","!");
Exit 0;
EndIf;
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;