MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 1 | SYNOPSIS |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 2 | #include <comm.h> |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 3 | int net_connect(string host, int port) |
| 4 | |
| 5 | BESCHREIBUNG |
| 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 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 11 | 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 User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 24 | |
| 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 | |
| 42 | SIEHE AUCH |
| 43 | logon(A) |