31 lines
1.7 KiB
HTML
31 lines
1.7 KiB
HTML
{% extends "_layout_de.html" %}
|
|
{% block title %}Streaming Packet{% endblock %}
|
|
{% block content %}
|
|
<p>Implementiert einen TCP-ähnliche (zuverlässlich, authentifiziert,
|
|
in Reihenfolge) Satz an Sockets zum Kommunizieren über die IP-ähnlichen
|
|
(unzuverlässlich, unauthentifiziert, unsortiert) I2P Nachrichten.</p>
|
|
|
|
<p>Falls eine Anwendugn Streams nutzen möchte, muss es einen
|
|
{@link net.i2p.client.streaming.I2PSocketManager} von der{@link
|
|
net.i2p.client.streaming.I2PSocketManagerFactory} anfordern, welche
|
|
als Antwort intern eine eigene {@link net.i2p.client.I2PSession} aufbaut.
|
|
Jede Kommunikation über diese {@link net.i2p.client.I2PSession}
|
|
wird vom {@link net.i2p.client.streaming.I2PSocketManager} verwaltet,
|
|
da dieser eine eigene Art an Formatierung der gesendeten und empfangenen
|
|
RAW Nachrichten beinhaltet. Falls eine Anwendung Streams von anderen
|
|
Klienten aus dem Netzwerk empfangen will, sollte es die blockierenden
|
|
{@link net.i2p.client.streaming.I2PServerSocket#accept} Methoden nutzen,
|
|
welche einen {@link net.i2p.client.streaming.I2PSocket} zur Verfügung
|
|
stellen sobald ein neuer Socket verfügbar ist. Falls eine Anwendung
|
|
einen neuen Stream zu einem Knoten erstellen will, sollte sie dieses mit dem
|
|
passendem {@link net.i2p.client.streaming.I2PSocketManager#connect} Aufruf
|
|
erledigen.</p>
|
|
|
|
<p>Es exisitieren auch hier einige einfache Demoanwendungen - {@link
|
|
net.i2p.client.streaming.StreamSinkServer} lauscht zu einer Destination
|
|
und schreibt die Daten aller Sockets, die es akzeptiert, in individuelle
|
|
Dateien, während {@link net.i2p.client.streaming.StreamSinkClient}
|
|
zu einer bestimmten Destination verbindet und eine bestimmte Anzahl an
|
|
Zufallsdaten sendet und sich dann disconnected.</p>
|
|
{% endblock %}
|