IPConnection.SendNumber

From SunFlurry wiki
Jump to: navigation, search
  SendNumber (Обмен данными)
Объект:Объект IP
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в число, разрыв соединения, системная ошибка
Визуальность:Нет

TCP/IP функция отсылает число указанного формата по установленному соединению. Функцию можно использовать как для блокирующих, так и для не блокирующих соединений. Если соединение будет разорвано до успешной отправки данных, функция вызовет исключение.

Синтаксис

IPConnection.SendNumber(<Число (NUMBER)>,<Тип числа (INT)>=0)

Аргументы

  • <Число (NUMBER)> - Число, которое необходимо отправить с помощью установленного соединения.
  • <Тип числа (INT)> - (необязательный аргумент) Тип передаваемого числа. Доступны следующие значения:
    • 0 (по умолчанию) -- Число имеет размер 8 бит (1 байт)
    • 1 -- Число имеет размер 16 бит (1 слово)
    • 2 -- Число имеет размер 32 бита (1 двойное слово)
    • 3 -- Число имеет размер 64-бита
    • 4 -- Вещественное число имеет размер 80 бит

Примеры

//Пример отсылки и приема чисел
аСервер:=IPConnection.ListenEx(8000);
аКлиент:=IPConnection.Connect("127.0.0.1:8000");
Sleep(250);
аКлиент2:=аСервер.Accept();
аКлиент.SendNumber(65535,0);
//Будет выведено: 255=255
Message("255="+аКлиент2.ReceiveNumber(0));

аКлиент.SendNumber(65535,1);
//Будет выведено: 65535=65535
Message("65535="+аКлиент2.ReceiveNumber(1));

аКлиент.SendNumber(Not ReflectBits(1),2);
//Будет выведено: 4294967295=4294967295
Message(""+((Not ReflectBits(1)) mod 4294967296)+"="+аКлиент2.ReceiveNumber(2));

аКлиент.SendNumber(Not ReflectBits(1),3);
//Будет выведено: 9223372036854775807=9223372036854775807
Message(""+(Not ReflectBits(1))+"="+аКлиент2.ReceiveNumber(3));

аКлиент.SendNumber(2.33333333377,4);
//Будет выведено: 2.33333333377=2.33333333377
Message("2.33333333377="+аКлиент2.ReceiveNumber(4));