Навигация:
<< >> Оглавление Указатель

Описание пользователя

Глава 3. Использование стандартных модулей автокомпиляции

§3.7. Краткий перечень вводимых в модель описаний и реакций на события

§3.7.10. Обмен данными по сети

§3.7.10.2. Сетевое соединение установлено

Это событие возникает в блоке, запросившем сетевое соединение с каким-либо каналом передачи данных сервера, после успешной установки этого соединения. Как правило, модели блоков не отправляют данные другим блокам до наступления этого события. Стандартный модуль автокомпиляции не автоматизирует передачу данных между блоками по сети, желающие реализовать ее могут изучить §2.15 руководства программиста.

Текст реакции на установку соединения вводится на вкладке «события» левой панели редактора модели: раздел «сеть», подраздел «соединение установлено». В классе блока для нее создается функция с именем rdsbcppNetConnect следующего вида:

  // Server connection established
  void rdsbcppBlockClass::rdsbcppNetConnect( ConnData)
  {
     … пользовательский текст реакции … 
  }

Параметр функции ConnData – это указатель на структуру RDS_NETCONNDATA, описывающую параметры установленного соединения:

  typedef struct {
     ConnId;     // Идентификатор соединения
     HostA;       // URL или IP-адрес сервера (UTF8)
     HostW;      // URL или IP-адрес сервера (UTF16)
    // Host;     // URL или IP-адрес сервера ()
     Port;       // Порт
     ChannelA;    // Имя канала (UTF8)
     ChannelW;   // Имя канала (UTF16)
    // Channel;  // Имя канала ()
     ByServer;       // Cоединение разорвано сервером
  } ;
  typedef  *;

Поля структуры имеют следующий смысл:

ConnId (int)
Уникальный идентификатор сетевого соединения, возвращенный сервисной функцией при его создании.
HostA (RDSCSTR), HostW (RDSWCSTR), Host (RDSXCSTR)
Имя (URL) или IP-адрес сервера, с которым установлено соединение.
Port (int)
Номер сетевого порта, через который идет обмен данными.
ChannelA (), ChannelW (), Channel ()
Имя канала передачи данных, с которым установлено соединение.
ByServer (BOOL)
В реакции на установку соединения не используется – TRUE, если соединение разорвано сервером.

При написании моделей блоков без использования модуля автокомпиляции успешной установке сетевого соединения соответствует константа RDS RDS_BFM_NETCONNECT.


<< >> Оглавление Указатель