Hva er Socket C?
"Socket C" er et begrep som noen ganger brukes til å referere til prosessen med å skrive socketkode på programmeringsspråket C, og noen ganger brukes til å referere til den faktiske bibliotekfilen som inneholder implementeringen for noen socketfunksjoner. Den faktiske socket C-bibliotekfilen inneholder implementeringer for forskjellige funksjoner og makroer som gir den grunnleggende socketfunksjonaliteten som leveres av språkbibliotekene, selv om socket C-filen er operativsystemavhengig og kanskje ikke implementeres på noen systemer. Å skrive socket C-kode innebærer å lage et grensesnitt med en standard inngangs- og utgangsprotokoll, kjent som en socket, og bruke den til å sende eller motta informasjon, vanligvis over et nettverk eller gjennom en maskinvare. C-programmeringsspråket er ment å være bærbart, men socket-programmering er avhengig av noen systemnivåspesifikke funksjoner på lavt nivå, slik at det noen ganger kan være vanskelig å skrive programmer i C som bruker sokler, men også opprettholder portabilitet på tvers av systemer.
Det er tre grunnleggende typer stikkontakter som socket C støtter. Den første er kjent som et datagram, det andre er en strøm, og den tredje er rå tilgang. Et datagram er en type stikkontakt som sender informasjon i små bunter kjent som pakker. Hver pakke sendes fra en kilde med informasjon om destinasjonssokkelen den søker over et nettverk. Mens et datagram kan være en effektiv metode for kommunikasjon gjennom stikkontakter og ofte brukes til å sende e-post, er det også tapt, fordi ingen pakker som blir sendt garantert kommer til destinasjonsstikkontakten.
En stikkontakt kobler til en annen stikkontakt og informasjon sendes direkte mellom stikkontaktene. Når den brukes i socket C-programmering, sikrer denne typen socket at all data som sendes blir mottatt på den andre siden. En komplikasjon er imidlertid at kontakten noen ganger kan bruke blokkering, noe som betyr at kontakten vil stoppe utførelsen av en prosess til informasjon er mottatt eller til kontakten er lukket, selv om bruk av tråder eller gaffelprosesser kan løse dette problemet i de fleste tilfeller. Tilgang til rå sokkel er gitt som et middel til å faktisk grensesnitt på nesten maskinvarenivå med uansett hvilken enhet som er vert for soklen.
Stikkontakter brukes ofte i forskjellige former for Internett-kommunikasjon. Maskinvaren og driverne som lar nettverk skje varierer sterkt av operativsystem, så det kan være vanskelig å finne en socket C-bibliotekfil som støtter alle mulige kombinasjoner. Av denne grunn inneholder selve socket C-filen, så vel som socket header-filen, en lang liste med betingede kompilasjonsdirektiver, slik at den vil samles annerledes på forskjellige systemer.