Чтение и запись.
Тип: Действие.
Возвращает или задает код для выполнения при отправке сообщения без какой-либо ошибки.
Свойство должно быть задано типом значения Действие из библиотеки односкрипта.
Процедура обработки события должна быть объявлена с ключевым словом Экспорт.
TCPСервер1.ПриОтправкеСообщения = КС.Действие(ЭтотОбъект, "TCPСервер1_ПриОтправкеСообщения");
Копировать Выделить всё//== Файл Сервер.os == начало Перем КС, СерверКлиент, TCPСервер1; Процедура Сервер_ПриПодключенииКлиента() Экспорт СерверКлиент = КС.СерверКлиентАрг().Клиент; КонецПроцедуры Процедура TCPСервер1_ПриПолученииСообщения() Экспорт СообщениеАрг = КС.СообщениеАрг(); Сообщение = СообщениеАрг.Сообщение; Отправитель = СообщениеАрг.Отправитель; Если (ТипЗнч(Сообщение)) = Тип("КсСообщениеЧисло") Тогда Сообщить("Сервер получил сообщение: " + Сообщение.Число + " (ИдентификаторКлиента = " + Отправитель.ИдентификаторКлиента + ")"); КонецЕсли; Клиенты = TCPСервер1.Клиенты; Для А = 0 По Клиенты.ВГраница() Цикл СерверКлиент1 = Клиенты.Получить(А); Если Отправитель.ИдентификаторКлиента = СерверКлиент1.ИдентификаторКлиента Тогда СерверКлиент1.ОтправитьСообщение(КС.СообщениеТекст("Это ответное сообщение от сервера.")); КонецЕсли; КонецЦикла; КонецПроцедуры Процедура TCPСервер1_ПриОтправкеСообщения() Экспорт Сообщение = КС.СообщениеАрг().Сообщение; Если (ТипЗнч(Сообщение)) = Тип("КсСообщениеТекст") Тогда ОтправленноеСерверомСообщение = Сообщение.Текст; КонецЕсли; Сообщить("Сервер отправил сообщение: " + ОтправленноеСерверомСообщение); КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptClientServer\OneScriptClientServer\bin\Debug\OneScriptClientServer.dll"); КС = Новый КлиентСерверДляОдноСкрипта(); TCPСервер1 = КС.TCPСервер(10085); TCPСервер1.ПриПодключенииКлиента = КС.Действие(ЭтотОбъект, "Сервер_ПриПодключенииКлиента"); TCPСервер1.ПриПолученииСообщения = КС.Действие(ЭтотОбъект, "TCPСервер1_ПриПолученииСообщения"); TCPСервер1.ПриОтправкеСообщения = КС.Действие(ЭтотОбъект, "TCPСервер1_ПриОтправкеСообщения"); TCPСервер1.Начать(); Сообщить("Сервер запущен."); Пока КС.Продолжать Цикл КС.ПолучитьСобытие().Выполнить(); КонецЦикла; //== Файл Сервер.os == конец //== Файл Клиент.os == начало Перем КС; Процедура TCPКлиент_ПриПолученииСообщения() Экспорт Сообщение = КС.СообщениеАрг().Сообщение; Если (ТипЗнч(Сообщение)) = Тип("КсСообщениеТекст") Тогда Сообщить("Клиент получил сообщение: " + Сообщение.Текст); КонецЕсли; КонецПроцедуры Процедура TCPКлиент_ПриОтправкеСообщения() Экспорт Сообщение = КС.СообщениеАрг().Сообщение; Если (ТипЗнч(Сообщение)) = Тип("КсСообщениеЧисло") Тогда Сообщить("Клиент отправил сообщение: " + Сообщение.Число); КонецЕсли; КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptClientServer\OneScriptClientServer\bin\Debug\OneScriptClientServer.dll"); КС = Новый КлиентСерверДляОдноСкрипта(); TCPКлиент1 = КС.TCPКлиент(КС.TCPКонечнаяТочка("127.0.0.1", 10085)); TCPКлиент1.ПриОтправкеСообщения = КС.Действие(ЭтотОбъект, "TCPКлиент_ПриОтправкеСообщения"); TCPКлиент1.ПриПолученииСообщения = КС.Действие(ЭтотОбъект, "TCPКлиент_ПриПолученииСообщения"); TCPКлиент1.Подключить(); Приостановить(1000); Сообщить("Клиент подключен."); Если TCPКлиент1.СостояниеСоединения = 0 Тогда TCPКлиент1.ОтправитьСообщение(КС.СообщениеЧисло(125.33)); Приостановить(1000); КонецЕсли; Пока КС.Продолжать Цикл КС.ПолучитьСобытие().Выполнить(); КонецЦикла; //== Файл Клиент.os == конец
TCPСервер (TcpServer) Класс | Библиотека OneScriptClientServer