Java UDP Audio – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Java UDP Audio – Java – Fórum – Programujte.comJava UDP Audio – Java – Fórum – Programujte.com

 

lambada
~ Anonymní uživatel
1 příspěvek
12. 5. 2017   #1
-
0
-

Ahoj

mám problém při pokusech s audiem po UDP v Jave.

Tady je odesilac, posila audio soubor:

https://pastebin.com/UqVTX360

Tady je funkcni prijmac, jenom packet prijme pomoci socket.receive(packet)

https://pastebin.com/eCjNjNMu

A tady je nefunkcni prijmac:

https://pastebin.com/vDn51XPc

V nefunkcnim prijmaci se snazim prijate pakety zapsat do souboru, ale prijmu jenom prvnim +- 100 000 bytu a pak se program zastavi na receive().

Sender:Total bytes written: 1761279 Whole file sent...

Receiver: RECEIVED: 127.0.0.1 8786 Length: 10000 Total: 30000

Zkousel jsem i prijmac VUServer z teto otazky:

http://stackoverflow.com/questions/23847905/send-audio-over-udp

A vysledek je podobny, prijme se prvnich par tisic bytu, ale dalsi receive() uz neprojde...

Jsem na Win10 a posilam si to na localhost, ale zkousel jsem to i na Linuxech a po LANce a zadna zmena...

Napada nekoho proc se pakety normalne neprijmou?

Nahlásit jako SPAM
IP: 194.108.49.–
gna
~ Anonymní uživatel
1891 příspěvků
12. 5. 2017   #2
-
0
-

Takže jsi tam jen přidal pomalé zapisování a teď některá data propásneš. V čem bude problém? :-)

Nahlásit jako SPAM
IP: 213.211.51.–
Matrix17
~ Anonymní uživatel
300 příspěvků
13. 5. 2017   #3
-
0
-

#1 lambada
Problémů tam bude trošku víc. Je potřeba si prvně přečíst něco o tom, jak funguje UDP.

  1. může se stát, že ty pakety ti dorazí v jiném pořadí než je odešleš (nemáš ošetřené)
  2. UDP není potvrzované, takže se ti může i stát, že ten paket "zabloudí" a nedorazí vůbec (nemáš ošetřené)
  3. Jak píše #2 gna, bylo by dobré nedělat nic časově náročného na příjmu dat. Jinak se ti stane, že zatím co si budeš někam ukládat data, přijdou ti nová a jelikož si zrovna neměl "nastražené ucho" tak si je propásl.

Řešení prvních dvou problémů jsou například: Použít TCP místo UDP nebo si udělat vlastní protokol nad UDP a zařídit si, že je přijetí paketu potvrzené serverem a správně řazené za sebou.

Nahlásit jako SPAM
IP: 213.226.237.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 54 hostů

Podobná vlákna

JAVA UDP server — založil Lolek

JAVA UDP timeout — založil Honza

Augmentation Audio — založil global

Audio.Ending — založil Nechda

Tag audio (playlist) — založil Forest

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý