Unix Socket – Server Příklady
, Aby se proces TCP server, budete muset následovat kroky uvedené níže.
-
Vytvořit soket s socket() systémové volání.
-
navázat soket na adresu pomocí systémového volání bind (). Pro serverovou zásuvku na internetu se Adresa skládá z čísla portu na hostitelském počítači.
-
poslouchejte spojení se systémovým voláním listen ().
-
přijměte spojení se systémovým voláním accept (). Toto volání obvykle blokuje, dokud se klient nepřipojí se serverem.
-
odesílejte a přijímejte data pomocí systémových volání read() a write ().
nyní dejte tyto kroky ve formě zdrojového kódu. Vložte tento kód do souborového serveru.c a zkompilujte jej pomocí kompilátoru gcc.
zpracování Více Připojení
chcete serveru povolit, Aby zpracovat více současných připojení, jsme se provést následující změny ve výše uvedeném kódu,
-
přijmout prohlášení a následující kód v nekonečné smyčce.
-
po navázání spojení zavolejte fork () a vytvořte nový proces.
-
dítě proces bude ukončen sockfd a volání doprocessing funkce, předávání nový soket deskriptor souboru jako argument. Když oba procesy dokončí svou konverzaci, jak je naznačeno návratem doprocessing (), tento proces jednoduše ukončí.
-
nadřazený proces zavře newsockfd. Protože je celý tento kód v nekonečné smyčce, vrátí se do příkazu accept a počká na další připojení.
následující soubor kódu ukazuje jednoduchou implementaci funkce doprocessing.