Difference between revisions of "IPConnection.SendStr"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:51, 7 February 2021
SendStr (Обмен данными) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
TCP/IP функция отсылает строку по установленному соединению. Первыми отсылаются 4 байта -- размер строки в символах, затем само содержимое строки. Функцию можно использовать как для блокирующих, так и для не блокирующих соединений. Если соединение будет разорвано до успешной отправки данных, функция вызовет исключение. Чтобы принять информацию на противоположной стороне, можно использовать функцию ReceiveStr.
Синтаксис
IPConnection.SendStr(<Строка для отправки (STRING)>,<Отослать строку в UTF-16 (INT)>=0)
Аргументы
<Строка для отправки (STRING)>
- Строка, содержимое которой будет передано с помощью установленного соединения.<Отослать строку в UTF-16 (INT)>
- (необязательный аргумент) По умолчанию (0), строка отсылается в ANSI кодировке (и может содержать бинарные данные), если этот параметр равен 1, строка будет отослана в UTF-16 (один символ задается двумя или четырьмя байтами, см. Строки). В случае UTF-16 первые 4 байта -- длина строки будут представлять собой количество слов в строке (т.е., будут в 2 раза меньше, чем длина строки в байтах).
Примеры
//Пример соединения USR1 Сокет:=IPConnection.ConnectUSR1("127.0.0.1:13777"); If not Сокет.isConnected() Then Message("Сервер не отвечает","!"); Exit 0; EndIf; СтрОшибка:=""; Try СтрОшибка:="Сервер не принял режим USR1 (1)!"; Сокет.SendCmd("USR1"); Комм:=Сокет.ReceiveCmd(); If Комм="BUSY" Then Message("Сервер занят!","!"); Exit 0; EndIf; If Комм<>"OK " Then Message("Сервер не принял режим USR1 (2)!","!"); Exit 0; EndIf; СтрОшибка:="Ошибка при обмене!"; Сокет.SendStr("Hello, this is client!"); //Отсылка текстового файла C:\file.txt Сокет.SendCmd("RECV"); Сокет.SendFile("C:\file.txt",1); //Окончание обмена файлами Сокет.SendCmd("FNSH"); Комм:=Сокет.ReceiveCmd(); If Комм<>"OK " Then Exit 0; EndIf; Стр:="Любая информация для обмена"; Сокет.SendStr(Стр,1); Сокет.ReceiveStr(Стр,1); Message("Сервер прислал информацию: "+Стр); //Далее следует обмен любой другой информацией Except If СтрОшибка<>"" Then Message(СтрОшибка,"!"); Else Message(PopError(),"!"); EndIf; Exit 0; EndTry;