メインコンテンツ

UDP を使用したバイトの伝送

R2026b

dsp.UDPSender および dsp.UDPReceiver System object をそれぞれ使用して UDP パケットを送受信します。正常に送信されたバイト数を計算します。

UDP 送信機の RemoteIPPort と UDP 受信機の LocalIPPort を 31000 に設定します。データ ベクトルの長さを、受信機の MaximumMessageLength プロパティの値よりも小さい 128 サンプルに設定します。パケットの損失を回避するには、オブジェクト アルゴリズムへの最初の呼び出しの前に、受信機オブジェクトで setup メソッドを呼び出します。

udpr = dsp.UDPReceiver(LocalIPPort=31000);
udps = dsp.UDPSender(RemoteIPPort=31000);

setup(udpr); 

bytesSent = 0;
bytesReceived = 0;
dataLength = 128;

反復の各ループでデータのパケットを送受信します。ループの最後に fprintf 関数を使用して、送信機から送信されたバイト数と受信機が受信したバイト数を出力します。

for k = 1:20
    dataSent = uint8(255*rand(1,dataLength));
    bytesSent = bytesSent + dataLength;
    udps(dataSent);
    dataReceived = [];
    while (isempty(dataReceived))
        dataReceived = udpr();
    end
    bytesReceived = bytesReceived + length(dataReceived);
end

release(udps);
release(udpr);

fprintf("Bytes sent:     %d\n", bytesSent);
Bytes sent:     2560
fprintf("Bytes received: %d\n", bytesReceived);
Bytes received: 2560

参考

|

トピック