データ受信

■データ受信

データ受信では、データ送信と同様にF&eITプロトコルのデータストリームを使用します。
従って、受信したパケットが、データストリームであるかを確認し、取得したストリームデータが、受信すべきデータとなります。

 

■F&eITプロトコルヘッダの確認

受信したパケットがストリームデータである事を確認します。

PSVHEAD pSVHead;

 

pSVHead = (PSVHEAD)(RxBuffer);

if( ( ( pSVHead->bSVHCommand & SV_COMMAND_MASK ) != SV_DATA_STREAM ) ||

( pSVHead->wSVHId != SV_ID ) ||

( pSVHead->bSVHVer != SV_VER ) ) {

次の受信データ確認;

}

 

 

 

 

■ストリームヘッダの確認とデータの取得

受信したパケットが、ストリームパケットであれは、データの取得をします。
ここでは、pRxDataに取得したデータのエントリ、DataSizeに取得したデータのサイズが格納されます。

PSTRMHEAD pStrmHead;

 

pStrmHead = (PSTRMHEAD)( (DWORD)(RxBuffer) + sizeof(SVHEAD) );

if( ( pStrmHead->bSTRMVer != STRM_VER ) ||

( ( pStrmHead->bSTRMCommand & STRM_COMMAND_MASK ) != STRM_SEND ) ) {

次の受信データ確認;

}

pRxData = (BYTE*)( (DWORD)(RxBuffer) + sizeof(SVHEAD) + sizeof(STRMHEAD) );

DataSize = pStrmHead->wSTRMSize;

 

 

 

(注意)データストリームでは、メディアコンバータに接続された機器から送られたデータを、メディアコンバータが適切なサイズに分割してLAN上に送信します。
このため、データストリームの受信側では注意が必要です。