tanszek:oktatas:informacios_rendszerek_integralasa:java_socket
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tanszek:oktatas:informacios_rendszerek_integralasa:java_socket [2024/03/01 20:39] – [QUIC (Quick UDP Internet Connections) (2021-es szabvány)] knehez | tanszek:oktatas:informacios_rendszerek_integralasa:java_socket [2024/03/06 08:34] (current) – knehez | ||
---|---|---|---|
Line 9: | Line 9: | ||
==== UDP (User Datagram Protocol) ==== | ==== UDP (User Datagram Protocol) ==== | ||
- | * **Nem megbízható**: | + | * **Nem megbízható**: |
- | * **Kapcsolatmentes**: | + | * **Kapcsolatmentes**: |
- | * **Könnyűsúlyú**: | + | * **Könnyűsúlyú**: |
- | * **Alkalmazások**: | + | * **Alkalmazások**: |
==== QUIC (Quick UDP Internet Connections) (2021-es szabvány) ==== | ==== QUIC (Quick UDP Internet Connections) (2021-es szabvány) ==== | ||
- | * **Gyors kapcsolatfelépítés**: | ||
- | | ||
- | * **Multiplexált adatfolyam**: | ||
- | |||
- | * **Párhuzamos adatátvitel**: | ||
- | |||
- | * **Fejlécblokkolás elkerülése**: | ||
- | |||
- | * **Független hiba- és áramlásszabályozás**: | ||
+ | * **Párhuzamos, | ||
+ | * **Független hiba- és áramlásszabályozás**: | ||
* **Dinamikus prioritások**: | * **Dinamikus prioritások**: | ||
- | |||
* **Titkosítás**: | * **Titkosítás**: | ||
- | | ||
* **Kapcsolat migráció**: | * **Kapcsolat migráció**: | ||
- | | + | * **Alkalmazások**: |
- | * **Áramlásszabályozás és zsúfoltságkezelés**: | + | |
- | + | ||
- | | + | |
+ | [[https:// | ||
- | ====== Összetett | + | ===== Gyakorló |
Készítsen egy egyszerűsített FTP (file transport) klienst és szervert, amelynél a kliens elküldhet vagy letölthet szöveges file-okat a szerverről. | Készítsen egy egyszerűsített FTP (file transport) klienst és szervert, amelynél a kliens elküldhet vagy letölthet szöveges file-okat a szerverről. | ||
Line 64: | Line 52: | ||
-) " | -) " | ||
- | ====== Alappéldák ====== | + | ===== Kiinduló minták |
Line 75: | Line 63: | ||
=== Socket szerver kód === | === Socket szerver kód === | ||
- | <code java> | + | <sxh java> |
import java.io.IOException; | import java.io.IOException; | ||
import java.io.ObjectInputStream; | import java.io.ObjectInputStream; | ||
Line 144: | Line 132: | ||
} | } | ||
} | } | ||
- | </code> | + | </sxh> |
=== Socket kliens kód === | === Socket kliens kód === | ||
- | <code java> | + | <sxh java> |
import java.io.IOException; | import java.io.IOException; | ||
import java.io.ObjectInputStream; | import java.io.ObjectInputStream; | ||
Line 210: | Line 198: | ||
} | } | ||
} | } | ||
- | </code> | + | </sxh> |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
==== 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. | + | a) Az alábbi Ágens küld egy üzenetet és a 8080-as porton várja a választ rá, ugyancsak UDP-vel. |
**Feladat**: | **Feladat**: | ||
- | <code java> | + | <sxh java> |
package org.ait; | package org.ait; | ||
| | ||
Line 233: | 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 256: | Line 238: | ||
} | } | ||
} | } | ||
- | </code> | + | </sxh> |
- | 2.b) Az UDP szerver | + | b) A másik |
- | <code java> | + | <sxh java> |
package org.ait; | package org.ait; | ||
| | ||
Line 267: | 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 297: | Line 279: | ||
} | } | ||
} | } | ||
- | </code> | + | </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.1709325545.txt.gz · Last modified: 2024/03/01 20:39 by knehez