data ztracena přes UDP v MATLABu

E

engr_najam

Guest
Hi;command in matlab.

Mám problém s pomocí UDP
příkaz v MATLABu.
od odeslání konce i poslat data.na přijímací stanici jsem dostal data s daty (pakety) prohrál.
Může někdo prosím, veď mě, kde je problém.?

velikost můj příjem buffer je 8192 bytů, a data jsou neustále posílat.

 
Můj vysílač kód:

U1 = UDP ('192 .168.1.55 ', 9091,' LocalPort ', 9090);
set (U1, 'OutputBufferSize', 8192)
set (U1, 'TimeOut', 10)
fopen (U1)
get (U1, 'status')
while (1)
fwrite (U1, ubuffer (1,:), 'dvojí');% ubuffer je o velikosti 1x1024
konec
fclose (U1)
smazat (U1)

My přijímač kód:

U = UDP ('192 .168.1.166 ', 9090,' LocalPort ', 9091,' InputBufferSize ', 8192,' TimeOut ', 10);
fopen (u);
while (1)
[, Počet] = fread (u, 1024, 'dvojí');
konec
fclose (u)
odstranit (u)

Můj problém je, že jakmile jsem se zvýšil počet prvků, předaných v minulosti 64, můžu jen získat 64 prvků v přijímači.Stejně jako v případě i přenášet 1x1024 element pole, na přijímači jsem si prvních 64 elementů pouze.Stejně jako v této řádek kódu na přijímači:

[, Počet] = fread (u, 1024, 'dvojí');

Já jen get '' o velikosti 64x1, i když jsem měla dostat 1024x1 velikost 'a'.Hodnota hraběte je i 64, by mělo být 1024.

K vyřešení této musím použít smyčku a 2D pole u přijímače, jako je 64x16 pro 1024 element předány pole.Také jsem si varování "stanovené množství dat nebyl vrácen v čase", po přečtení každé 64 prvků.Is tam jakýkoliv roztok dostávat všechny prvky, jako 1024 v jednom jít??stejně jako i dont muset použít smyčku jen
[, Počet] = fread (u, 1024, 'dvojí');
a já si všechny předány prvky.

Můj druhý problém je, že nemohu předat komplexních čísel pomocí UDP.I přenášet 3 komplexní čísla a na přijímač i jen dostat reálné část těchto komplexních čísel.Nějaké nápady???

 

Welcome to EDABoard.com

Sponsor

Back
Top