Unix Socket – Server Eksempler
For å gjøre en PROSESS TIL EN TCP −server, må du følge Trinnene Nedenfor –
-
Opprett en stikkontakt med socket() systemanrop.
-
Bind kontakten til en adresse ved hjelp av bind () systemkallet. For en serverkontakt på Internett består en adresse av et portnummer på vertsmaskinen.
-
Lytt etter forbindelser med systemanropet lytt ().
-
Godta en forbindelse med systemanropet godta (). Denne samtalen blokkerer vanligvis til en klient kobler seg til serveren.
-
Sende og motta data ved hjelp av lese() og skrive () systemanrop.
La oss nå sette disse trinnene i form av kildekode. Sett denne koden inn i filserveren.c og kompilere den med gcc compiler.
Håndter Flere Tilkoblinger
for å tillate serveren å håndtere flere samtidige tilkoblinger, gjør vi følgende endringer i koden ovenfor –
-
Sett accept-setningen og følgende kode i en uendelig sløyfe.
-
etter at en tilkobling er opprettet, ring gaffel() for å opprette en ny prosess.
-
barnet prosessen vil lukke sockfd og kaller doprocessing funksjon, passerer den nye socket file descriptor som et argument. Når de to prosessene har fullført samtalen, som angitt ved doprocessing () retur, går denne prosessen bare ut.
-
den overordnede prosessen lukker newsockfd. Da all denne koden er i en uendelig sløyfe, vil den gå tilbake til accept-setningen for å vente på neste tilkobling.
følgende kode seqment viser en enkel implementering av doprocessing funksjon.