C.6 Paket Netz (p_net)

Das Paket Netz stellt einige Klassen zur Netzwerkkommunikation aus Dokumentenmethoden heraus bereit. Ein solches Szenario wurde in Kapitel 2.4.2 vorgestellt.

C.6.1 c_tcp

Eine Klasse, die Methoden zur TCP-Socketkommunikation bereitstellt.

Konstruktor(host,port)- initialisiert Objektvariable und instanziiert einen Socket, dabei geben host und port die Adresse des Sockets an. Für port=0 wird automatisch ein freier Port zugewiesen.

connect(host,port)- baut eine Netzverbindung zu der durch host und port angegebenen Adresse auf.

accept()- wartet auf Verbindungsaufbau.

send(buff)- sendet buff.

recv(buffsize)- empfängt maximal buffsize Bytes.

poll(buffsize,secs)- wie recv, jedoch wird nur secs Sekunden auf eine eingehende Nachricht gewartet.

close()- baut eine vorhandene Verbindung ab und schließt den Socket.

getaddr()- gibt die Adresse des lokalen Sockets zurück.

getpeeraddr()- gibt die Adresse des Peers bzw. des entfernten Sockets zurück.

C.6.2 c_stopwait1

Diese Klasse realisiert ein einfaches Stop-Wait-Protokoll zur Übertragung von Dateien und langen Zeichenketten.

Konstruktor(host,port,buffsize,tiemout,debug)- initialisiert Objektvariable und instanziiert einen Socket, dabei geben host und port die Adresse des Sockets an. buffsize gibt die maximale Größe eines Blocks an, timeout die Zeit, die verstreichen darf bis eine Antwort vom Peer bzw. der Gegenstelle empfangen wird. Wird für debug eine 1 übergeben, werden zusätzliche Meldungen erzeugt, die der Fehlersuche dienen sollen.

connect(host,port)- baut eine Netzverbindung zu der durch host und port angegebenen Adresse auf.

accept()- wartet auf Verbindungsaufbau.

send_str(sendstr)- sendet sendstr.

send_file(fname)- sendet die Datei fname.

recv_str()- empfängt eine Zeichenkette.

recv_file(fname)- empfängt die Datei fname.

C.6.3 c_send

Die Methoden dieser Klasee ermöglichen es, Teile eines bestimmten Dokuments über eine zuvor aufgebaute Netzverbidung zu versenden.

Konstruktor(ident,host,port,blocksize,timeout)- initialisiert Objektvariable und baut die Netzverbindung auf, dabei ist ident die Dokumenten-ID, host und port die Netzadresse, blocksize die maximale Größe eines Übertragunsblocks und timeout die Zeit in Sekunden, die auf eine Bestätigung gewartet wird.

send_bs(start,end)- sendet einen Teil des Dokuments, start und end geben dabei die Byte-Grenzen innerhalb des Dokuments an.

send_tagcontents(tagname,tagcount)- sendet den Inhalt des tagcount-ten Tags mit Namen tagname.

send_tag(tagname,tagcount)- sendet das tagcount-te Tag mit Namen tagname.

send_structure()- sendet den Strukturbaum des Dokuments.

send_doc()- sendet das gesamte Dokument.