|
| 1 | +[ |
| 2 | + Duden/Netzwerk stellt low-level Funktionen zum Arbeiten mit Sockets zur Verfügung. |
| 3 | +] |
| 4 | + |
| 5 | +Binde "Duden/C" ein. |
| 6 | +Binde "Duden/Fehlerbehandlung" ein. |
| 7 | +Binde "Duden/Laufzeit" ein. |
| 8 | +Binde "Duden/Texte" ein. |
| 9 | + |
| 10 | +Die Funktion Init_Windows gibt einen Wahrheitswert zurück, |
| 11 | +ist in "libddpstdlib.a" definiert |
| 12 | +und kann so benutzt werden: |
| 13 | + "windows sockets initialisiert wurden" |
| 14 | + |
| 15 | +Der Wahrheitswert windows_initialisiert ist wahr, wenn windows sockets initialisiert wurden. |
| 16 | + |
| 17 | +Wir definieren eine AddressInfo öffentlich als einen Zeiger. |
| 18 | + |
| 19 | +Wir nennen die öffentliche Kombination aus |
| 20 | + der Zahl padding1, |
| 21 | + der Zahl padding2, |
| 22 | + der Zahl padding3, |
| 23 | + der Zahl padding4, |
| 24 | + der Zahl padding5, |
| 25 | + der Zahl padding6, |
| 26 | + der Zahl padding7, |
| 27 | + der Zahl padding8, |
| 28 | + der Zahl padding9, |
| 29 | + der Zahl padding10, |
| 30 | + der Zahl padding11, |
| 31 | + der Zahl padding12, |
| 32 | + der Zahl padding13, |
| 33 | + der Zahl padding14, |
| 34 | + der Zahl padding15, |
| 35 | + der Zahl padding16, |
| 36 | + dem C_int size, |
| 37 | +eine KlientenAddresse, |
| 38 | +und erstellen sie so: |
| 39 | + "eine leere KlientenAddresse", |
| 40 | + "eine ungefüllte KlientenAddresse" |
| 41 | + |
| 42 | +Wir nennen die öffentliche Kombination aus |
| 43 | + dem C_int fd, |
| 44 | + dem C_int familie, |
| 45 | + dem C_int typ, |
| 46 | +einen Socket. |
| 47 | + |
| 48 | +[ AF_UNSPEC ] |
| 49 | +Der öffentliche C_int IPV4_ODER_IPV6 ist 0 als Buchstabe als C_int. |
| 50 | +[ AF_INET ] |
| 51 | +Der öffentliche C_int IPV4 ist 2 als Buchstabe als C_int. |
| 52 | +[ SOCK_STREAM ] |
| 53 | +Der öffentliche C_int TCP ist 1 als Buchstabe als C_int. |
| 54 | +[ SOCK_DGRAM ] |
| 55 | +Der öffentliche C_int UDP ist 2 als Buchstabe als C_int. |
| 56 | + |
| 57 | +[ AF_INET6 ] |
| 58 | +Die öffentliche Funktion AF_IPV6 gibt einen C_int zurück, macht: |
| 59 | + Gib (26, falls das Betriebssystem gleich "Windows" ist, ansonsten 10) als Buchstabe als C_int zurück. |
| 60 | +Und kann so benutzt werden: |
| 61 | + "IPV6" |
| 62 | + |
| 63 | +Die öffentliche Funktion Lade_AddressInfo mit den Parametern familie, typ, name und service vom Typ C_int, C_int, Text und Text, gibt eine AddressInfo zurück, |
| 64 | +ist in "libddpstdlib.a" definiert |
| 65 | +und kann so benutzt werden: |
| 66 | + "die AddressInfo der Familie <familie> vom Typ <typ> für den Namen <name> und den Service <service>" oder |
| 67 | + "die <familie> <typ> AddressInfo für den Namen <name> und den Service <service>" oder |
| 68 | + "eine AddressInfo der Familie <familie> vom Typ <typ> für den Namen <name> und den Service <service>" oder |
| 69 | + "eine <familie> <typ> AddressInfo für den Namen <name> und den Service <service>" |
| 70 | + |
| 71 | +Die öffentliche Funktion freeaddrinfo mit dem Parameter info vom Typ AddressInfo, gibt nichts zurück, |
| 72 | +ist in "libddpstdlib.a" definiert |
| 73 | +und kann so benutzt werden: |
| 74 | + "Befreie <info>" |
| 75 | + |
| 76 | +[ |
| 77 | + Wandelt die ERSTE addresse in AddrInfo zu einem Text um. |
| 78 | +] |
| 79 | +Die öffentliche Funktion AddressInfo_zu_Text mit dem Parameter info vom Typ AddressInfo, gibt einen Text zurück, |
| 80 | +ist in "libddpstdlib.a" definiert |
| 81 | +und überlädt den "als" Operator. |
| 82 | + |
| 83 | +Die öffentliche Funktion Socket_Erstellen mit den Parametern familie und typ vom Typ C_int und C_int, gibt einen Socket zurück, |
| 84 | +ist in "libddpstdlib.a" definiert |
| 85 | +und kann so benutzt werden: |
| 86 | + "ein Socket der Familie <familie> vom Typ <typ>", |
| 87 | + "einen Socket der Familie <familie> vom Typ <typ>" |
| 88 | + |
| 89 | +Die öffentliche Funktion Socket_Erstellen_Typ mit dem Parameter typ vom Typ C_int, gibt einen Socket zurück, macht: |
| 90 | + Gib einen Socket der Familie IPV4 vom Typ typ zurück. |
| 91 | +Und kann so benutzt werden: |
| 92 | + "ein <typ> Socket", |
| 93 | + "einen <typ> Socket" |
| 94 | + |
| 95 | +Die Funktion Schließe_Socket_Windows mit dem Parameter sock vom Typ Socket, gibt nichts zurück, |
| 96 | +ist in "libddpstdlib.a" definiert |
| 97 | +und kann so benutzt werden: |
| 98 | + "schließe <sock> unter Windows" |
| 99 | + |
| 100 | +Die öffentliche Funktion Schließe_Socket mit dem Parameter sock vom Typ Socket, gibt nichts zurück, macht: |
| 101 | + Wenn das Betriebssystem gleich "Windows" ist, schließe sock unter Windows. |
| 102 | + Sonst schließe (fd von sock). |
| 103 | +Und kann so benutzt werden: |
| 104 | + "Schließe <sock>" |
| 105 | + |
| 106 | +Die öffentliche Funktion Socket_Binden mit den Parametern sock und info vom Typ Socket und AddressInfo, gibt nichts zurück, |
| 107 | +ist in "libddpstdlib.a" definiert |
| 108 | +und kann so benutzt werden: |
| 109 | + "Setze <sock> auf <info>" |
| 110 | + |
| 111 | +Die öffentliche Funktion Socket_Binden_Name_Service mit den Parametern sock, name und service vom Typ Socket, Text und Text, gibt nichts zurück, macht: |
| 112 | + Die AddressInfo info ist die AddressInfo der Familie (familie von sock) vom Typ (typ von sock) für den Namen name und den Service service. |
| 113 | + Setze sock auf info. |
| 114 | + Befreie info. |
| 115 | +Und kann so benutzt werden: |
| 116 | + "Setze <sock> auf <name> <service>" |
| 117 | + |
| 118 | +Die öffentliche Funktion Socket_Binden_Name_Port mit den Parametern sock, name und service vom Typ Socket, Text und Zahl, gibt nichts zurück, macht: |
| 119 | + Setze sock auf name (service als Text). |
| 120 | +Und kann so benutzt werden: |
| 121 | + "Setze <sock> auf <name> <service>" |
| 122 | + |
| 123 | +Die öffentliche Funktion Socket_Verbinden mit den Parametern sock und info vom Typ Socket und AddressInfo, gibt nichts zurück, |
| 124 | +ist in "libddpstdlib.a" definiert |
| 125 | +und kann so benutzt werden: |
| 126 | + "Verbinde <sock> mit <info>" |
| 127 | + |
| 128 | +Die öffentliche Funktion Socket_Verbinden_Name_Service mit den Parametern sock, name und service vom Typ Socket, Text und Text, gibt nichts zurück, macht: |
| 129 | + Die AddressInfo info ist die AddressInfo der Familie (familie von sock) vom Typ (typ von sock) für den Namen name und den Service service. |
| 130 | + Verbinde sock mit info. |
| 131 | + Befreie info. |
| 132 | +Und kann so benutzt werden: |
| 133 | + "Verbinde <sock> mit <name> <service>" |
| 134 | + |
| 135 | +Die öffentliche Funktion Socket_Verbinden_Name_Port mit den Parametern sock, name und port vom Typ Socket, Text und Zahl, gibt nichts zurück, macht: |
| 136 | + Verbinde sock mit name (port als Text). |
| 137 | +Und kann so benutzt werden: |
| 138 | + "Verbinde <sock> mit <name> <port>" |
| 139 | + |
| 140 | +Die öffentliche Funktion Socket_Zuhoeren mit den Parametern sock und backlog vom Typ Socket und Zahl, gibt nichts zurück, |
| 141 | +ist in "libddpstdlib.a" definiert |
| 142 | +und kann so benutzt werden: |
| 143 | + "Lass <sock> auf maximal <backlog> Verbindungen warten" oder |
| 144 | + "Lass <sock> auf maximal <backlog> Verbindung warten" |
| 145 | + |
| 146 | +Die öffentliche Funktion Socket_Verbindung_Annehmen mit den Parametern sock und client vom Typ Socket und KlientenAddresse Referenz, gibt einen Socket zurück, |
| 147 | +ist in "libddpstdlib.a" definiert |
| 148 | +und kann so benutzt werden: |
| 149 | + "die nächste Verbindung von <client> auf <sock>" |
| 150 | + |
| 151 | +Die öffentliche Funktion Socket_Verbindung_Annehmen_Ohne_Klient mit dem Parameter sock vom Typ Socket, gibt einen Socket zurück, macht: |
| 152 | + Die KlientenAddresse client ist eine leere KlientenAddresse. |
| 153 | + Der Socket verbindung ist die nächste Verbindung von client auf sock. |
| 154 | + Gib verbindung zurück. |
| 155 | +Und kann so benutzt werden: |
| 156 | + "die nächste Verbindung auf <sock>" |
| 157 | + |
| 158 | +Die öffentliche Funktion Socket_Senden mit den Parametern verbindung und daten vom Typ Socket und Byte Listen Referenz, gibt eine Zahl zurück, |
| 159 | +ist in "libddpstdlib.a" definiert |
| 160 | +und kann so benutzt werden: |
| 161 | + "Sende <daten> über <verbindung>" oder |
| 162 | + "wie viele Bytes von <daten> über <verbindung> gesendet wurden" |
| 163 | + |
| 164 | +Die öffentliche Funktion Socket_Senden_Wert mit den Parametern verbindung und daten vom Typ Socket und Byte Liste, gibt eine Zahl zurück, macht: |
| 165 | + Gib wie viele Bytes von daten über verbindung gesendet wurden zurück. |
| 166 | +Und kann so benutzt werden: |
| 167 | + "Sende <daten> über <verbindung>" oder |
| 168 | + "wie viele Bytes von <daten> über <verbindung> gesendet wurden" |
| 169 | + |
| 170 | +Die öffentliche Funktion Socket_Empfangen mit den Parametern verbindung und max vom Typ Socket und Zahl, gibt eine Byte Liste zurück, |
| 171 | +ist in "libddpstdlib.a" definiert |
| 172 | +und kann so benutzt werden: |
| 173 | + "maximal <max> Bytes aus <verbindung>", |
| 174 | + "maximal die nächsten <max> Bytes aus <verbindung>", |
| 175 | + "maximal den nächsten <max> Bytes aus <verbindung>" |
| 176 | + |
| 177 | +Die öffentliche Funktion Socket_Senden_An_Klient mit den Parametern verbindung, daten und client vom Typ Socket, Byte Listen Referenz und KlientenAddresse, gibt eine Zahl zurück, |
| 178 | +ist in "libddpstdlib.a" definiert |
| 179 | +und kann so benutzt werden: |
| 180 | + "Sende <daten> über <verbindung> an <client>" oder |
| 181 | + "wie viele Bytes von <daten> über <verbindung> an <client> gesendet wurden" |
| 182 | + |
| 183 | +Die öffentliche Funktion Socket_Senden_An mit den Parametern verbindung, daten und info vom Typ Socket, Byte Listen Referenz und AddressInfo, gibt eine Zahl zurück, |
| 184 | +ist in "libddpstdlib.a" definiert |
| 185 | +und kann so benutzt werden: |
| 186 | + "Sende <daten> über <verbindung> an <info>" oder |
| 187 | + "wie viele Bytes von <daten> über <verbindung> an <info> gesendet wurden" |
| 188 | + |
| 189 | +Die öffentliche Funktion Socket_Empfangen_Von mit den Parametern verbindung, max und client vom Typ Socket, Zahl und KlientenAddresse Referenz, gibt eine Byte Liste zurück, |
| 190 | +ist in "libddpstdlib.a" definiert |
| 191 | +und kann so benutzt werden: |
| 192 | + "das nächste maximal <max> Bytes große Packet aus <verbindung> von <client>", |
| 193 | + "dem nächsten maximal <max> Bytes großen Packet aus <verbindung> von <client>" |
| 194 | + |
| 195 | +Die öffentliche Funktion Socket_Empfangen_Von_Ohne_Klient mit den Parametern verbindung und max vom Typ Socket und Zahl, gibt eine Byte Liste zurück, macht: |
| 196 | + Die KlientenAddresse client ist eine leere KlientenAddresse. |
| 197 | + Gib das nächste maximal max Bytes große Packet aus verbindung von client zurück. |
| 198 | +Und kann so benutzt werden: |
| 199 | + "das nächste maximal <max> Bytes große Packet aus <verbindung>", |
| 200 | + "dem nächsten maximal <max> Bytes großen Packet aus <verbindung>" |
| 201 | + |
| 202 | +Die öffentliche Funktion Socket_Senden_Text mit den Parametern verbindung und daten vom Typ Socket und Text Referenz, gibt eine Zahl zurück, macht: |
| 203 | + Gib wie viele Bytes von (den Bytes von daten) über verbindung gesendet wurden zurück. |
| 204 | +Und kann so benutzt werden: |
| 205 | + "Sende <daten> über <verbindung>" oder |
| 206 | + "wie viele Bytes von <daten> über <verbindung> gesendet wurden" |
| 207 | + |
| 208 | +Die öffentliche Funktion Socket_Senden_Text_Wert mit den Parametern verbindung und daten vom Typ Socket und Text, gibt eine Zahl zurück, macht: |
| 209 | + Gib wie viele Bytes von daten über verbindung gesendet wurden zurück. |
| 210 | +Und kann so benutzt werden: |
| 211 | + "Sende <daten> über <verbindung>" oder |
| 212 | + "wie viele Bytes von <daten> über <verbindung> gesendet wurden" |
| 213 | + |
| 214 | +Die öffentliche Funktion Socket_Empfangen_Text mit den Parametern verbindung und max vom Typ Socket und Zahl, gibt einen Text zurück, macht: |
| 215 | + Gib die Bytes (maximal max Bytes aus verbindung) als Text zurück. |
| 216 | +Und kann so benutzt werden: |
| 217 | + "der maximal <max> Bytes lange Text aus <verbindung>", |
| 218 | + "der nächste maximal <max> Bytes lange Text aus <verbindung>", |
| 219 | + "dem nächste maximal <max> Bytes lange Text aus <verbindung>" |
| 220 | + |
| 221 | +Die öffentliche Funktion Socket_Senden_An_Klient_Text mit den Parametern verbindung, daten und client vom Typ Socket, Text Referenz und KlientenAddresse, gibt eine Zahl zurück, macht: |
| 222 | + Gib wie viele Bytes von (den Bytes von daten) über verbindung gesendet wurden zurück. |
| 223 | +Und kann so benutzt werden: |
| 224 | + "Sende <daten> über <verbindung> an <client>" oder |
| 225 | + "wie viele Bytes von <daten> über <verbindung> an <client> gesendet wurden" |
| 226 | + |
| 227 | +Die öffentliche Funktion Socket_Senden_An_Text mit den Parametern verbindung, daten und info vom Typ Socket, Text Referenz und AddressInfo, gibt eine Zahl zurück, macht: |
| 228 | + Gib wie viele Bytes von daten über verbindung an info gesendet wurden zurück. |
| 229 | +Und kann so benutzt werden: |
| 230 | + "Sende <daten> über <verbindung> an <info>" oder |
| 231 | + "wie viele Bytes von <daten> über <verbindung> an <info> gesendet wurden" |
| 232 | + |
| 233 | +Die öffentliche Funktion Socket_Empfangen_Von_Text mit den Parametern verbindung, max und client vom Typ Socket, Zahl und KlientenAddresse Referenz, gibt einen Text zurück, macht: |
| 234 | + Gib die Bytes (das nächste maximal max Bytes große Packet aus verbindung von client) als Text zurück. |
| 235 | +Und kann so benutzt werden: |
| 236 | + "der nächste maximal <max> Bytes große Text aus <verbindung> von <client>", |
| 237 | + "dem nächsten maximal <max> Bytes großen Text aus <verbindung> von <client>" |
| 238 | + |
| 239 | +Die öffentliche Funktion Socket_Empfangen_Von_Ohne_Klient_Text mit den Parametern verbindung und max vom Typ Socket und Zahl, gibt einen Text zurück, macht: |
| 240 | + Die KlientenAddresse client ist eine leere KlientenAddresse. |
| 241 | + Gib die Bytes (das nächste maximal max Bytes große Packet aus verbindung von client) als Text zurück. |
| 242 | +Und kann so benutzt werden: |
| 243 | + "der nächste maximal <max> Bytes große Text aus <verbindung>", |
| 244 | + "dem nächsten maximal <max> Bytes großen Text aus <verbindung>" |
0 commit comments