Arbeitsblatt SO
Die Unit Sockets muß eingebunden werden durch "uses winsock, sockets;".
Typ / Prozedur / Funktion | Bedeutung |
---|---|
type PHostInfo = Phostent; |
Zeiger auf einen Verbund mit Informationen über einen Host |
Portnummer = Word; |
Nummer eines Ports |
SocketAdresseIF = sockaddr_in; |
Komplette Socket-Adresse mit IP-Nr. im Internet-Format, Portnummer und Bezeichnung des Protokolls |
procedure InitialisiereWinsock; |
Muß am Anfang jeder Internet-Applikation aufgerufen werden |
procedure CleanUp; |
Muß am Ende jeder Internet-Applikation aufgerufen werden |
procedure ZeigeWinsockInfos; |
Gibt Informationen über die verwendete Winsock.DLL aus |
procedure WriteHostIP (Host: PHostInfo); |
Gibt die IP-Adresse des angegebenen Hosts im Klartext aus |
procedure SendeText (Socket: TSocket; s : string); |
Sendet einen Text über einen verbundenen Socket |
function EmpfangeText (Socket: TSocket; var s: string) : boolean; |
Empfängt einen Text über einen verbundenen Socket Rückgabe: TRUE = kein Fehler, FALSE = ein Fehler ist aufgetreten |
function SucheHost (name: string): PHostInfo; |
Sucht nach Existenz und Adresse eines Rechners im Internet (via Domain Name Service) Rückgabe: Falls ein Fehler aufgetreten ist: nil Sonst: Zeiger auf einen Verbund mit den Hostinformationen (PHostInfo) |
function SucheServicePortNummer (dienst, protokoll: string): Word; |
Sucht die Portnummer eines Standarddienstes über ein Standardprotokoll Rückgabe: Falls ein Fehler aufgetreten ist: 0 Sonst: Nummer des Protokolls. |
function ErzeugeSocket: tSOCKET; |
Erzeugt einen neuen (unverbundenen) Socket,
der das IP-Protokoll nutzen soll Rückgabe: Falls ein Fehler aufgetreten ist: 0 Sonst: Nummer des Sockets |
function VerbindungAufbauen (Host: PHostInfo; Port: Portnummer; Socket: TSocket):boolean; |
Baut eine Verbindung mit dem angegebenen Host über den angegebenen Port auf und identifiziert den Socket mit dieser Verbindung Rückgabe: TRUE = kein Fehler, FALSE = ein Fehler ist aufgetreten |
procedure VerbindungAbbauen (Socket: TSocket); |
Baut die mit dem Socket identifizierte Verbindung wieder ab |
procedure BindeSocket (s: tSOCKET; p: Portnummer; var RemoteAdresse: SocketAdresseIF); |
Bindet den Socket s an den Port mit der angegebenen Nummer. RemoteAdresse wird die Socket-Adresse von Clients aufnehmen, die eine Verbindung initiieren. |
function AkzeptiereVerbindung (s: tSOCKET; RemoteAdresse: SocketAdresseIF) : tSOCKET; |
Nimmt eine Verbindung an, die am Socket s beantragt worden ist. Die Verbindung wird mit dem zurückgegebenen Socket identifiziert. |
procedure Abbruch (Meldung: String); |
Bricht das Programm mit einer Fehlermeldung ab |