tanszek:oktatas:informacios_rendszerek_integralasa:java_socket

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tanszek:oktatas:informacios_rendszerek_integralasa:java_socket [2024/03/02 10:13] – [QUIC (Quick UDP Internet Connections) (2021-es szabvány)] kneheztanszek:oktatas:informacios_rendszerek_integralasa:java_socket [2024/03/06 08:34] (current) knehez
Line 17: Line 17:
  
  
-  * **Multiplexált adatfolyam**: Egyetlen QUIC-kapcsolat több adatfolyamot is képes kezelni, ezáltal csökkentve az úgynevezett "fejlécblokkolást", ami a TCP kapcsolatokban előfordulhat+  * **Párhuzamos, Multiplexált adatfolyam**: Egyetlen QUIC-kapcsolat több adatfolyamot is képes kezelni, ezáltal csökkentve az úgynevezett "fejlécblokkolást", ami a TCP kapcsolatokban előfordulhat.
-  * **Párhuzamos adatátvitel**: A QUIC lehetővé teszi több adatfolyam egyidejű létrehozását és kezelését egyetlen kapcsolaton belül. Ez javítja az adatátvitel hatékonyságát, mivel az egyik folyam átmeneti késése vagy blokkolása nem akadályozza a többi folyam adatátvitelét.+
   * **Független hiba- és áramlásszabályozás**: Minden QUIC-adatfolyam saját hiba- és áramlásszabályozással rendelkezik, ami azt jelenti, hogy egy folyam problémái nem befolyásolják a többi adatfolyam teljesítményét.   * **Független hiba- és áramlásszabályozás**: Minden QUIC-adatfolyam saját hiba- és áramlásszabályozással rendelkezik, ami azt jelenti, hogy egy folyam problémái nem befolyásolják a többi adatfolyam teljesítményét.
   * **Dinamikus prioritások**: A QUIC lehetővé teszi az adatfolyamok prioritásának dinamikus módosítását, amely segít optimalizálni az erőforrások felhasználását és javítja az alkalmazások válaszidejét.   * **Dinamikus prioritások**: A QUIC lehetővé teszi az adatfolyamok prioritásának dinamikus módosítását, amely segít optimalizálni az erőforrások felhasználását és javítja az alkalmazások válaszidejét.
   * **Titkosítás**: A QUIC alapértelmezés szerint biztosítja az adatok végponttól végpontig történő titkosítását, használva a TLS (Transport Layer Security) legújabb verzióit, ezáltal javítva az adatbiztonságot.   * **Titkosítás**: A QUIC alapértelmezés szerint biztosítja az adatok végponttól végpontig történő titkosítását, használva a TLS (Transport Layer Security) legújabb verzióit, ezáltal javítva az adatbiztonságot.
   * **Kapcsolat migráció**: A QUIC képes fenntartani egy aktív kapcsolatot még akkor is, ha a felhasználó eszköze hálózatot vált (például Wi-Fi-ről mobil adatra), ami folyamatosabb élményt nyújt a mobil felhasználók számára.   * **Kapcsolat migráció**: A QUIC képes fenntartani egy aktív kapcsolatot még akkor is, ha a felhasználó eszköze hálózatot vált (például Wi-Fi-ről mobil adatra), ami folyamatosabb élményt nyújt a mobil felhasználók számára.
-  * **Alkalmazások**: A QUIC-t széles körben használják webböngészéshez, videó streaminghez, online játékokhoz, IOT (Internet of Things) és más, nagy sebességű és megbízhatóságot igénylő internetes alkalmazásokhoz.+  * **Alkalmazások**: A QUIC-t széles körben használható (a normál böngészésen kívül) videó streaminghez, online játékokhoz, IOT (Internet of Things) és más, nagy sebességű és megbízhatóságot igénylő internetes alkalmazásokhoz.
  
 [[https://www.debugbear.com/blog/http3-quic-protocol-guide|további részletesebb információ]]  [[https://www.debugbear.com/blog/http3-quic-protocol-guide|további részletesebb információ]] 
Line 203: Line 202:
 ==== 2.) Hagyományos UDP alapú kommunikáció ==== ==== 2.) Hagyományos UDP alapú kommunikáció ====
  
-2.a) Az alábbi Ágens küld egy üzenetet és a 8080-as porton várja a választ rá, ugyancsak UDP-vel. Az eclipse fejlesztőkörnyezetben a consolon beírt szöveget ctrl+z leütésével lehet elküldeni.+a) Az alábbi Ágens küld egy üzenetet és a 8080-as porton várja a választ rá, ugyancsak UDP-vel. //Megjegyzés: az Eclipse fejlesztőkörnyezetben a consolon beírt szöveget ctrl+z leütésével lehet elküldeni.//
  
 **Feladat**: módosítsuk a kódot, hogy át tudjon küldeni egy beégetett nevű, és létező, 2 kbyte-nál nagyobb szöveges vagy kép állományt és ellenőrizzük a sikeres küldést. **Feladat**: módosítsuk a kódot, hogy át tudjon küldeni egy beégetett nevű, és létező, 2 kbyte-nál nagyobb szöveges vagy kép állományt és ellenőrizzük a sikeres küldést.
Line 216: Line 215:
   import java.net.InetAddress;   import java.net.InetAddress;
      
-  public class UDPClient {+  public class Component1 {
  public static void main(String args[]) throws Exception {  public static void main(String args[]) throws Exception {
  BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));  BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
Line 241: Line 240:
 </sxh> </sxh>
  
-2.b) Az UDP szerver a 8080-as porton várja az ágensek üzeneteit és nagybetűre konvertálva visszaküldi a kliens UDP socketre.+b) A másik UDP komponens (Component2) a 8080-as porton várja az ágens üzeneteit és nagybetűre konvertálva visszaküldi a Component1 UDP socket-ére.
  
 <sxh java> <sxh java>
Line 250: Line 249:
   import java.net.InetAddress;   import java.net.InetAddress;
      
-  public class UDPServer {+  public class Component2 {
  public static void main(String args[]) throws Exception {  public static void main(String args[]) throws Exception {
   
Line 281: Line 280:
   }   }
 </sxh> </sxh>
 +
 +Ha egy nagyméretű adatot szeretnénk elküldeni, egyben nem tudjuk megtenni, mert nem fér bele egy UDP csomagba. Ilyenkor egy ciklusban fel kell tördelni pl. 1024 byte hosszú darabokra és ezt kell átküldeni a szervernek. A szerveren ugyanígy egy ciklusban kell beolvasni a byte-okat és összefűzni az 1024 byte-os darabokat. 
 +
 +De ekkor még egy problémát meg kell oldani: honnan tudjuk hogy mekkora a tényleges méret?
tanszek/oktatas/informacios_rendszerek_integralasa/java_socket.1709374382.txt.gz · Last modified: 2024/03/02 10:13 by knehez