blob: 41c9dd9571179cc3af9d83b8dd37436bb8695c9c [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001SYNOPSIS
Zesstrad59c3892019-11-28 20:53:39 +01002 #include <comm.h>
MG Mud User88f12472016-06-24 23:31:02 +02003 int net_connect(string host, int port)
4
5BESCHREIBUNG
6 Oeffne eine nicht-blockierende TCP Netzverbindung zu
7 <host>:<port> . Bei Erfolg wird die Verbindung zum
8 aufrufenden Objekt gebunden und die lfun logon() wird in dem
9 Objekt aufgerufen.
10
Zesstrad59c3892019-11-28 20:53:39 +010011 Resultat ist einer der folgenden Werte:
12 NC_SUCCESS net_connect() erfolgreich
13 NC_EUNKNOWNHOST Host-Adresse nicht ermittelbar
14 NC_ENOSOCKET Fehler beim Erstellen des Sockets
15 NC_ENOBIND Fehler beim Binden des Sockets
16 NC_ENOCONNECT Fehler beim Verbindgen des Sockets
17 (Details ueber die letzten drei Fehler lassen sich im Fehlerlog des
18 Drivers ermitteln.)
19 NC_ECONNREFUSED Ziel ignoriert Verbindungsversuch
20 NC_EMCONN zuviele unerledigte Verbindungen im Aufbau
21 (voruebergehender Fehler, spaeter probieren)
22 NC_ENORESSOURCES ungenuegende Ressourcen fuer Verbindungs-
23 versuch (spaeter nochmal versuchen)
MG Mud User88f12472016-06-24 23:31:02 +020024
25 Ist der Driver fuer IPv6 konfiguriert, wird <host> erst als
26 IPv6-Name interpretiert, und wenn das fehlschlaegt, als
27 IPv4-Name.
28
29 Wenn die Verbindung nicht sofort erzeugt werden kann, gibt die
30 Funktion 'Erfolg' zurueck, und der Driver vollendet die
31 Funktion im Hintergrund. Sollte die Verbindungsaufbau im
32 Hintergrund fehlschlagen, wird logon(-1) im aktuellen Objekt
33 aufgerufen.
34
35 Die Funktion erzeugt eine privilege violation ("net_connect",
36 host, port).
37
38 WARNUNG: Ist <host> ein Name und keine IP, fuehrt die Funktion
39 einen DNS-Aufruf durch, der den Driver fuer einige Zeit
40 blockieren kann.
41
42SIEHE AUCH
43 logon(A)