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

Приложения

Приложение А. Функции, константы и структуры RDS

А.2. События блока и связанные с ними описания

А.2.8. События обмена данными по сети

А.2.8.2. RDS_BFM_NETDATAACCEPTED – получение данных сервером

Поток, в котором вызывается функция модели

Главный поток RDS.

Первый параметр функции модели (int CallMode)

Константа RDS_BFM_NETDATAACCEPTED.

Третий параметр функции модели (void *ExtParam)

Указатель на структуру RDS_NETACCEPTDATA, содержащую информацию о принятом сервером блоке данных.

Возвращаемое функцией модели значение

Не используется, можно возвращать любое значение.

Примечания

Реакция на событие RDS_BFM_NETDATAACCEPTED вызывается у блока, передавшего данные на сервер, после получения сервером этих данных. Это событие возникает только в том случае, если, передавая данные, блок запросил у сервера подтверждение их приема, указав флаг RDS_NETSEND_SERVREPLY при вызове функции передачи данных rdsNetBroadcastData или rdsNetSendData. Чаще всего реакция на событие RDS_BFM_NETDATAACCEPTED используется для организации в блоке собственной очереди передачи данных, не связанной с очередью RDS: в этом случае блок не передает очередную порцию данных, пока не получит от сервера подтверждение приема предыдущей. Следует помнить, что подтверждение выдается при получении данных сервером, а не блоком-получателем данных – серверу еще только предстоит отправить данные получателю. Процедуры обмена данными по сети, используемые в RDS, подробно описаны в §2.15 руководства программиста.

В параметре ExtParam передается указатель на структуру RDS_NETACCEPTDATA:

  typedef struct {
     ConnId;     // Идентификатор соединения
     HostA;       // URL или IP-адрес сервера (UTF8)
     HostW;      // URL или IP-адрес сервера (UTF16)
    // Host;     // URL или IP-адрес сервера ()
     Port;       // Порт
     ChannelA;    // Имя канала (UTF8)
     ChannelW;   // Имя канала (UTF16)
    // Channel;  // Имя канала ()
     Id;         // Идентификатор полученного блока данных
  } RDS_NETACCEPTDATA;
  typedef RDS_NETACCEPTDATA *RDS_PNETACCEPTDATA;

Поля структуры

ConnId (RDSINT32)
Идентификатор соединения, возвращенный функцией rdsNetConnect при его создании.
HostA (RDSCSTR), HostW (RDSWCSTR), Host (RDSXCSTR)
Имя (URL) или IP-адрес сервера, с которым установлено соединение (только в том случае, если в качестве сервера не используется та же копия «rds.exe», в которую загружена схема с данным блоком).
Port ()
Номер сетевого порта, через который идет обмен данными.
ChannelA (), ChannelW (), Channel ()
Имя канала передачи данных.
Id ()
Идентификатор полученных сервером данных (целое число, указанное в вызове одной из функций передачи данных). По нему модель блока может определить, какая именно порция данных принята сервером.

См. также

RDS_BFM_NETDATARECEIVED, rdsNetBroadcastData, rdsNetSendData.


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