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:36] – 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**: | + | |
- | | + | * **Párhuzamos, |
- | * **Multiplexált adatfolyam**: | + | |
- | | + | * **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 56: | Line 52: | ||
-) " | -) " | ||
- | ====== Alappéldák ====== | + | ===== Kiinduló minták |
Line 67: | 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 136: | 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 202: | 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 225: | 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 248: | Line 238: | ||
} | } | ||
} | } | ||
- | </code> | + | </sxh> |
- | 2.b) Az UDP szerver | + | b) A másik |
- | <code java> | + | <sxh java> |
package org.ait; | package org.ait; | ||
| | ||
Line 259: | 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 289: | 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.1709325409.txt.gz · Last modified: 2024/03/01 20:36 by knehez