Vad är ett uttag?
uttag tillåter kommunikation mellan två olika processer på samma eller olika maskiner. För att vara mer exakt är det ett sätt att prata med andra datorer med vanliga Unix-filbeskrivningar. I Unix görs varje I / O-åtgärd genom att skriva eller läsa en filbeskrivare. En fil deskriptor är bara ett heltal associerat med en öppen fil och det kan vara en nätverksanslutning, en textfil, en terminal eller något annat.
till en programmerare, ett uttag ser ut och beter sig ungefär som en låg nivå fil deskriptor. Detta beror på att kommandon som read() och write () arbetar med uttag på samma sätt som de gör med filer och rör.
Sockets introducerades först i 2.1 BSD och förfinades därefter till sin nuvarande form med 4.2 BSD. Sockets-funktionen är nu tillgänglig med de flesta aktuella UNIX – systemutgåvor.
var används uttaget?
ett Unix-uttag används i en klient-server-applikationsram. En server är en process som utför vissa funktioner på begäran från en klient. De flesta programnivåprotokoll som FTP, SMTP och POP3 använder sig av uttag för att upprätta anslutning mellan klient och server och sedan för utbyte av data.
Socket typer
det finns fyra typer av uttag tillgängliga för användarna. De två första används oftast och de två sista används sällan.
processer antas endast kommunicera mellan uttag av samma typ men det finns ingen begränsning som förhindrar kommunikation mellan uttag av olika slag.
-
strömuttag − leverans i en nätverksmiljö garanteras. Om du skickar tre objekt ”A, B, C” genom strömuttaget kommer de att anlända i samma ordning − ”A, B, C”. Dessa uttag använder TCP (Transmission Control Protocol) för dataöverföring. Om leverans är omöjlig får avsändaren en felindikator. Dataposter har inga gränser.
-
Datagram Sockets − leverans i en nätverksmiljö garanteras inte. De är anslutningsfria eftersom du inte behöver ha en öppen anslutning som i strömuttag − du bygger ett paket med destinationsinformationen och skickar ut den. De använder UDP (User Datagram Protocol).
-
Raw Sockets − dessa ger användarna tillgång till de underliggande kommunikationsprotokollen, som stöder uttagsabstraktioner. Dessa uttag är normalt datagramorienterade, även om deras exakta egenskaper är beroende av gränssnittet som tillhandahålls av protokollet. Råuttag är inte avsedda för den allmänna användaren; de har tillhandahållits främst för dem som är intresserade av att utveckla nya kommunikationsprotokoll eller för att få tillgång till några av de mer kryptiska anläggningarna i ett befintligt protokoll.
-
sekvenserade Paketuttag − de liknar ett strömuttag, med undantag för att rekordgränser bevaras. Detta gränssnitt tillhandahålls endast som en del av nätverkssystem (NS) Socket abstraktion, och är mycket viktigt i de flesta allvarliga ns applikationer. Sequenced-packet sockets tillåter användaren att manipulera Sequence Packet Protocol (spp) eller Internet Datagram Protocol (IDP) rubriker på ett paket eller en grupp av paket, antingen genom att skriva en prototyphuvud tillsammans med vilken data som ska skickas, eller genom att ange en standardhuvud som ska användas med all utgående data, och tillåter användaren att ta emot rubrikerna på inkommande paket.
Vad är nästa?
de närmaste kapitlen är avsedda att stärka dina grunder och förbereda en grund innan du kan skriva Server-och klientprogram med socket. Om du direkt vill hoppa för att se hur man skriver ett klient-och serverprogram kan du göra det men det rekommenderas inte. Det rekommenderas starkt att du går steg för steg och slutför dessa första kapitel för att göra din bas innan du går vidare till programmering.
Leave a Reply