Klientprogram 3.0 3. Hovedtrekk ved klient-bankprogrammet

Bank-klient program er et moderne system for tilgang til organisasjonskontoer og administrasjon av kontoer via Internett. Fra denne artikkelen vil du lære hva det er bank-klient program, samt dens funksjoner, fordeler og ulemper.

Hva er en kundebank og hvordan jobber man i den?

Klientbanken er et eksternt banktjenestesystem (RBS) designet for fjernbetalinger og andre bankoperasjoner, kontroll av brukskontoen i sanntid ved å utveksle informasjon med bankserveren via Internett.

Systemegenskaper:

  • Det er et program installert på klientens PC.
  • Bankdokumenter (betalinger, kontoutskrifter) lagres på brukerens datamaskin
  • Kan jobbe offline. Klientbanken lar deg generere nye dokumenter offline, bruke eksport- og importfunksjoner, opprette nye dokumenter og laste ned gamle kontoutskrifter. Klientbanken tillater imidlertid ikke sending av betalinger eller nedlasting av nye kontoutskrifter, siden dette krever tilknytning til bankens server.

Hva er forskjellen mellom nettbank og klientbank (deres fordeler og ulemper)?

En klientbank i klassisk forstand er et sett med metoder for eksterne banktjenester, tilgang til via brukerens PC. Banken gir kunden nødvendig programvare, teknisk og metodisk støtte.

Avhengig av metoden for nettverkskommunikasjon er det imidlertid to typer eksterne banktjenester: "tykk" klient (bankklient, eller klient-bank-program) og "tynn" klient (internettbank).

Hovedforskjellen i driften av de to fjerntilgangssystemene er at nettbank fungerer helt via internett via en nettleser (all informasjon om bankkontoen ligger på bankserveren), mens klientbanken (tykk klient) fungerer gjennom en program installert på brukerens datamaskin. Dette fører til andre forskjeller mellom systemene, deres fordeler og ulemper i forhold til hver enkelt bruker:

  1. Arbeide med dokumenter offline.

Tilgjengelig for bank-klient-programmet, ikke tilgjengelig for nettbank.

  1. Mulighet for tilgang fra flere enheter.

For samtidig tilgang til data via nettbank trenger du bare en spesialkonfigurert nettleser. For å få tilgang til klientbanken må du installere programmet på hver datamaskin.

  1. Datalagring, informasjonsbeskyttelse.

Data i nettbanksystemet lagres på bankens server når du bruker bankklientprogrammet, lagres det på brukerens datamaskin, derfor er informasjon om kontoer utsatt for større fare. Hvis datamaskinen med systemet til nettbankbrukeren svikter, kan han ganske enkelt installere nettleseren på nytt eller logge på nettbanken fra en annen enhet, mens brukeren av klientbanken kan miste noe av informasjonen om kontoen, og disse dataene vil må gjenopprette.

  1. Avanserte funksjoner.

Som regel gir bank-klientsystemet flere alternativer, for eksempel visning av historikk over dokumentstatusendringer og andre. En viktig fordel for noen organisasjoner vil også være tjenestesystemets evne til å samhandle med ulike regnskapstjenester og programmer (for en kundebank er de vanligvis bredere).

Avhengig av de nødvendige driftsparametrene, kan en organisasjon velge ett eller annet alternativ for eksterne banktjenester eller bruke begge systemene sammen.

Bank-klient eller Kunde-bank - hva er riktig?

Som vi allerede har funnet ut, er klient-bank et generalisert konsept som kombinerer bank-klient og nettbank (Internett klient) systemer. Et internettsystem som opererer gjennom et spesielt bankprogram kan kalles både en bankklient og en klientbank. I banktjenesteavtaler brukes imidlertid vanligvis begrepet "klient-bank".

Hvordan installere en kundebank?

Programmet installeres som følger:

  1. Først må du sjekke om brukerens utstyr oppfyller de tekniske kravene til systemet som installeres.
  2. Bankprogramvare er installert.
  3. Et nøkkelgeneratorprogram installeres, og generasjonsforespørsel sendes til banken.
  4. Gjennom et nettleservindu går brukeren inn i bankens program. Innlogging og passord er i pakken med bankdokumenter. En elektronisk nøkkel settes inn i USB-porten.
  5. Banken utsteder nøkkelsertifikater i løpet av få dager. Brukeren må logge inn i systemet, skrive ut dokumentet i to kopier og ta det med til banken.
  6. Etter noen dager blir nøkkelsertifikatene tilgjengelige for brukeren, og systemet er klart til bruk.

Det er verdt å huske på at dette diagrammet er omtrentlig, siden hver bank setter sine egne tekniske krav og verktøy for bruk av systemet.

En regnskapsfører (nødvendigvis en trygg PC-bruker) installerer systemet og arbeider med det, som regel, uavhengig ved hjelp av detaljerte instruksjoner fra leverandørbanken, men i noen tilfeller kan det være nødvendig med hjelp fra spesialister.

Hvordan bruke klientbanken (instruksjoner, driftsprosedyre i systemet)?

Så, Hvordan samme arbeid i klient-bank-programmet ? Arbeid i klient-banksystemet skjer ved å bruke en datamaskin koblet (eller har tilgang) til Internett. For å jobbe i nettbanksystemet installeres en nettleser (vanligvis Internet Explorer) på PC-en som er konfigurert i henhold til instruksjonene fra leverandørbanken, og et datakrypteringsprogram (CryptoPro eller annet). Banksiden åpnes i nettleseren, hvorfra gjeldende kontodata er tilgjengelig. For tilgang trenger du også en personlig pålogging og passord og en eToken elektronisk USB-nøkkel, utstedt av banken ved registrering. eToken er et sikkert lagringsmedium som ligner på en USB-flash-stasjon.

Resultater

Klientbank er en veldig praktisk måte for banktjenester for juridiske personer og individuelle gründere. Det er 2 typer eksternt banksystem: bank-klient og nettbank, begge har sine fordeler og ulemper. Den største fordelen med nettbank er muligheten til å jobbe på bankens server uten trusselen om tap av data, den største ulempen er mangelen på muligheter for offline arbeid. I motsetning til nettbank lar klientbanken deg utføre deler av arbeidet uten internettforbindelse, men det er fare for delvis tap av kontoinformasjon på grunn av teknisk svikt.

Klient (programvare)

Innen informasjonsteknologi klient er en maskinvare- eller programvarekomponent i et datasystem som sender forespørsler til en server.

Et klientprogram samhandler med serveren ved hjelp av en bestemt protokoll. Det kan be om alle data fra serveren, manipulere data direkte på serveren, starte nye prosesser på serveren osv. Klientprogrammet kan levere dataene som mottas fra serveren til brukeren eller bruke dem på annen måte, avhengig av formålet med programmet. Klientprogrammet og serverprogrammet kan kjøres på samme datamaskin eller på forskjellige. I det andre tilfellet brukes en nettverksforbindelse for å utveksle informasjon mellom dem.

Typen klienter er terminaler- arbeidsstasjoner på flerbrukerdatamaskiner, utstyrt med skjerm og tastatur, og som ikke kan jobbe uten server. På 90-tallet dukket det opp nettverksdatamaskiner – noe mellom en terminal og en personlig datamaskin. Nettverksdatamaskiner har en forenklet struktur og er i stor grad avhengig av serveren.

En klient betyr imidlertid ikke alltid en datamaskin med svake dataressurser. Oftest beskriver begrepene "klient" og "server" fordelingen av roller når du utfører en spesifikk oppgave, i stedet for datakraft. Programmer som utfører både klient- og serverfunksjoner kan kjøres samtidig på samme datamaskin. For eksempel kan en webserver som klient motta data å generere sider fra

Wikimedia Foundation. 2010.

  • Ziggoner
  • Saint Patrick

Se hva "Klient (programvare)" er i andre ordbøker:

    Klient-kommunikatør- programvare, plattform for visuell design av automatiserte bedriftsstyringssystemer basert på CRM- og ERP-konsepter. Utviklet av BMicro (Russland, St. Petersburg) Dette er en kommersiell programvare... ... Wikipedia

    klient (i informasjonsteknologi)- klientklientdel av programvaren En bruker, datamaskin eller program som ber om tjenester, ressurser, data eller behandling fra et annet program eller en annen datamaskin. Datamaskinen som serveren får tilgang fra med det formål å utveksle eller motta... ... Teknisk oversetterveiledning

    Programvareklient– I informasjonsteknologi er en klient en maskinvare- eller programvarekomponent i et datasystem som sender forespørsler til en server. Programmet, som er en klient, samhandler med serveren ved hjelp av en bestemt protokoll. Hun kan be om fra ... Wikipedia

    Klient- Klient: Klient (fra latin cliens, flertall clientes) i det gamle Roma, en fri borger som overga seg under beskyttelse av en beskytter og var avhengig av ham. Klient er et generelt navn for en enhet som bruker noen tjenester... ... Wikipedia

    Klient (datavitenskap)– Dette begrepet har andre betydninger, se Oppdragsgiver. En klient er en maskinvare- eller programvarekomponent i et datasystem som sender forespørsler til en server. Programmet, som er en klient, samhandler med serveren ved hjelp av en viss ... Wikipedia

    Programvare- "Programvare"-forespørselen omdirigeres hit. Se også andre betydninger. Programvare (uttaleprogramvare anbefales ikke, eller rettere sagt, anbefales ikke), sammen med maskinvare, er den viktigste komponenten av informasjon ... Wikipedia

    Applikasjoner (programvarepakke)- Programvarepakken "Requests" (PC-"Requests") automatiserer prosessen med å opprette, gjennomgå og behandle utsendelsesforespørsler for reparasjon av strømutstyr i samsvar med reglene, forskriftene og forskriftene vedtatt i Unified... ... Wikipedia

    SAIL (programvareprodukt)– Dette begrepet har andre betydninger, se Seil (betydninger). Programvareprodukter "PARUS" (PP "PARUS") er designet for å automatisere aktivitetene til kommersielle foretak og budsjettinstitusjoner på forskjellige nivåer. Blant PP-linjene... ... Wikipedia

    Seil (programvareprodukt)– Dette begrepet har andre betydninger, se Seil (betydninger). Parus er en serie programvareprodukter utviklet for å automatisere aktivitetene til organisasjoner i statlig og kommunal sektor, så vel som kommersiell... ... Wikipedia

    System "Client-Bank"- – en programvarepakke som lar kunden foreta transaksjoner på kontoen, utveksle dokumenter og informasjon med banken uten å besøke kredittinstitusjonens kontor. Informasjon utveksles via telefon og datamaskin. Praktisk system "Klient... ... Bankleksikon

Bøker

  • Elektronisk handel og optimalisering av datateknologier, V. E. Lichtenstein. For tiden opplever verden en økning i e-handelsomsetning i både business-to-customer og business-to-business-sektorene. Elektroniske handelssystemer (e-handel)...

Før vi fortsetter å se på de forskjellige programmene og deres typer, vil jeg gjerne snakke om to mer grunnleggende konsepter innen dataterminologi: "Klient" Og "Webgrensesnitt".

Hvis du forstår disse vilkårene, kan du lettere navigere i det store utvalget av programmer og programvareløsninger og velge selv, kanskje ikke de beste, men de mest praktiske programmene for å jobbe med en datamaskin.

Og vi skal se på disse begrepene ved å bruke to eksempler. Dette E-post Og datalagring i skyen.

Disse eksemplene vil være mer illustrerende, siden vi allerede har sett på eksempler på skyteknologier i leksjonen "".

Vel, når det gjelder e-post, er alle kjent med dette begrepet.

Så la oss komme i gang. Så hvorfor heter noen programmer "Kunder"?

Klientprogrammer har fått navnet sitt på grunn av teknologien de bruker. Og denne teknologien kalles "Client - Server" (eller klient-server-teknologi).

Ved første øyekast høres det skummelt og uforståelig ut. Men det er faktisk ganske enkelt. Og nå skal vi være overbevist om dette.

Programmet er en klient for Dropbox

I det første eksemplet, la oss se på å jobbe med Dropbox-skytjenesten.

Jeg vil ikke påstå at denne tjenesten er den beste. Men for meg er det det mest praktiske, selv om det ikke tildeler mye diskplass i skyene gratis.

Denne tjenesten er praktisk for meg av én grunn. Denne tjenesten har en implementering klientprogrammer under ALLE .

Siden jeg bruker Linux-operativsystemet på jobb og Windows hjemme, er det kun denne tjenesten som gir meg enkelt og komfortabelt arbeid med informasjon.

Vel, selvfølgelig kan jeg få tilgang til informasjonen min om denne ressursen gjennom nettgrensesnitt. Det er her vi starter.

Jeg går til Dropbox-ressursen på https://www.dropbox.com/

Etter å ha skrevet inn påloggingsnavnet og passordet mitt, befinner jeg meg i et "stykke sky" der dataene mine er lagret.

Du kan selvfølgelig laste opp data her fra datamaskinen din og laste dem ned igjen etter å ha gjort endringer i dataene. Men, du må innrømme, dette er ganske upraktisk, langt og kjedelig.

De listede ulempene ved å jobbe med dataene dine kan løses ved å installere dem på datamaskinen. klientprogrammer, som denne tjenesten tilbyr oss.

Dessuten, hvis jeg har Windows-operativsystemet installert, blir jeg "omdirigert" til en side for nedlasting av klientprogrammet for Windows OS.

Hvis jeg jobber under Linux-operativsystemet, blir jeg tilbudt klientprogrammer for Linux.

Likeledes for Mac OS X og operativsystemer for mobile enheter.

Jeg laster ned og installerer klienten på jobb under Linux, og hjemme under Windows.

Jeg installerer klientprogrammer på datamaskiner. I innstillingene spesifiserer jeg påloggingsinformasjonen min på samme måte som når jeg arbeider med ressursen når jeg bruker webgrensesnittet.

Alle. Synkronisering av data fra skyen med data på datamaskinene mine begynner (vel, selvfølgelig, hvis det er en Internett-tilkobling).

Så snart de blå "sirklene" blir grønne, vil dette bety at dataene på hjemmedatamaskinen min som kjører Windows, i skyen og på datamaskinen min på jobben som kjører Linux, vil være nøyaktig den samme.

Og nå, hvis jeg gjør noen endringer i dataene hvor som helst, det være seg skyen, hjemmedatamaskinen eller jobben, vil disse endringene skje på alle enheter i løpet av noen få minutter.

Som jeg allerede har gitt et eksempel. Jeg begynner å skrive denne artikkelen, som du leser nå, på jobb. Arbeidsdagen er over. Komme hjem. Jeg slår på den bærbare datamaskinen og fortsetter å skrive.

Eller ett eksempel til. Jeg gikk utendørs med en smarttelefon eller et nettbrett med Dropbox-klienten installert (på smarttelefonen min er klienten installert under Android-operativsystemet).

Jeg tok bilder og tok opp fuglene som sang.

Jeg kom hjem eller på jobb, og på datamaskinen er alt allerede på disken. Det er ikke nødvendig å omskrive noe hvor som helst.

Kort sagt, klienten lar meg jobbe med data, uavhengig av om jeg har Internett-tilgang for øyeblikket eller ikke.

Ingen internett - bare jobber. Når jeg kobler til Internett, blir dataene umiddelbart synkronisert.

Uansett hva du sier, er det veldig praktisk.

Vel, om en annen type klientprogrammer - e-postklient.

E-post

Jeg vet ikke hvordan du vil oppfatte denne informasjonen. Disse konseptene tok to år å nå meg. Riktignok var det ingen steder å lese på den tiden. Internett har nettopp dukket opp. Mer presist, ikke Internett i seg selv, men muligheten til å koble til det.

Hvordan bruker vi e-post?

Vi går til Internett-ressursen der postkassen vår er registrert (mail.ru, yandex.ru, google.com, etc.). Skriv inn brukernavn og passord i registreringsskjemaet og gå til postkassen din.

Med andre ord får vi tilgang til e-posten vår via Webgrensesnitt.

Denne typen tilgang til postkassen din kalles også "online e-post." På nett ( på nett) oversatt fra engelsk betyr "på linjen" eller "linjen er på" (på - på, linje - linje).

En forutsetning for å bruke denne metoden for å få tilgang til postboksen din er tilstedeværelsen av en Internett-tilkobling.

Har du internett har du tilgang til brev i postkassen. Ingen Internett - ingen tilgang. Det er bare to alternativer.

Så her er det. Det viser seg at du kan ha e-post uten å ha tilgang til Internett.

For dette formålet er det en type spesialprogrammer som kalles e-postklient(e-postklienter).

Mange leverandører som tilbyr Internett-tjenester har til og med en egen tjeneste - "e-post". Tjenesten er ganske billig. Du trenger ikke koble til Internett for å gjøre dette.

Klient e-post via modem kobles til bare med e-postserver. Sender og mottar e-post, og kobler deretter fra.

Vel, hvis leverandøren din ikke har en slik tjeneste, er det nok å ha den billigste tariffplanen for tilkobling til Internett. For denne typen postboks er dette mer enn nok.

E-postklientprogrammer brukes av nesten alle organisasjoner rundt om i verden. Siden Internett i dette tilfellet ikke er nødvendig (og i noen organisasjoner er det forbudt).

Men slike programmer gir komfortabelt arbeid med e-post.

Dette programmet er installert på datamaskinen din. Tilgang til e-postserveren konfigureres. De samme innstillingene bestemmer etter hvilken tidsperiode det skal sjekkes e-post på e-postserveren. Det er alt. Bare sjekk postkassen din med jevne mellomrom.

Denne typen tilgang til postkassen din kalles også "frakoblet e-post." Frakoblet ( offline) oversatt fra engelsk betyr "frakoblet fra linjen" (av - av, linje - linje).

Typiske representanter for e-postklienter er:

  • Outlook fra Microsoft fra Microsoft Office-pakken (betalt)
  • Outlook Express fra samme Microsoft-selskap, men som et eget program (betalt, blir foreldet)
  • Windows Live Mail fra samme Microsoft-selskap. Også et eget program (betalt, i de nyeste versjonene av Windows OS erstatter det Outlook Express)
  • Flaggermusen fra RITLabs (betalt)
  • Mozilla Thunderbird fra Mozilla Foundation (gratis)
  • Opera mail fra Opera Software (gratis). Tidligere var klienten innebygd i Opera-nettleseren, men er nå et eget program

Jeg fortalte deg om de grunnleggende forskjellene mellom online og offline e-post. La oss se på noen flere forskjeller.

E-postklienter er mer funksjonelle enn e-post på nett. Disse programmene har mange verktøy for å jobbe med bokstaver. Det er til og med gode innebygde editorer som lar deg formatere tekster.

Send e-post til klienter "streng". De har nesten ingen utseendedekorasjoner. Ja, dette er forståelig. Slike programmer er kun laget for å lese post og sende brev.

Slike programmer er mer brukt, som jeg allerede sa, i organisasjoner. Der ingenting skal distrahere fra jobben.

En annen ting er e-post på nett, som vi bruker gjennom et nettgrensesnitt. Alt der er vakkert og bidrar til avslapning og underholdning.

Derfor må jeg på jobb jobbe med e-postklienten Outlook Express, spesielt siden det er en bedriftsstandard. Vel, hjemme foretrekker jeg nettpostbokser på google.com, mail.ru og yandex.ru.

Jeg vil ikke gi deg eksempler på nettgrensesnitt for elektroniske e-posttjenester, siden du kan se dem utmerket uten meg når du jobber med e-posten din.

Men jeg vil vise deg et par eksempler på e-postklientgrensesnitt som jeg bruker på jobben.

Outlook e-postklient

Outlook Express e-postklientgrensesnitt

Litt mer om klientprogrammer

Noen flere eksempler.

Som jeg allerede har sagt, er et klientprogram et program som er installert på datamaskinen din og fungerer med servere på Internett.

For eksempel er du en elsker av kraftige, sofistikerte leker. Moderne kraftige spill fungerer bare på kraftige personlige datamaskiner.

Du kjøper "sesongens siste nye produkt" i butikken. Kom og installer den på datamaskinen din. Du begynner å spille.

Det er bra hvis maskinvaren til datamaskinen din er i stand til å gi leketøyet ressursene som dette leketøyet trenger (RAM, diskplass, skjermkortets evne til å reprodusere alt på dataskjermen "uten plugger"). Dessuten tar et slikt installert spill 5-10 GB diskplass.

Prosessoren er lastet med nesten 100 %. Nesten all RAM er "spist bort". Til det punktet hvor datamaskinen fryser helt.

Dette er en offline leke.

Men det finnes lignende leker på nett. Og det er flere og flere slike spill.

I dette tilfellet, finn en spillserver på Internett. Last den ned til datamaskinen din og installer et klientprogram for å jobbe med denne serveren.

Programmet er vanligvis lite (flere megabyte) og vil ikke forbruke noen ressurser fra datamaskinen din. Og du kan spille dette fasjonable superleketøyet selv på en svak datamaskin. I dette tilfellet faller hele lasten på spillserveren.

Selv om det også finnes "sofistikerte" nettspill som du kan spille uten et klientprogram.

Et annet illustrerende eksempel er klientprogrammet for . Disse programmene kalles BitTorrent-klienter.

Last ned og installer BitTorrent-klienten på datamaskinen din. Last ned en torrent-fil fra en torrent-server (størrelsen på en slik fil er vanligvis flere kilobyte). Åpne denne torrentfilen i klientprogrammet.

Alle. Hvis det er en torrentfil av en film, begynner filmen å laste ned til datamaskinen din. Hvis torrentfilen er et musikkalbum fra en gruppe, begynner albumet å laste ned.

Vel, for å kommunisere med venner og slektninger, installerer du på datamaskinen din Skype klientprogram.

Jeg håper at vi har forstått slike begreper som "Webgrensesnitt"

Hvordan finne og laste ned filer av Reitman M.A. på Internett.

μTorrent klientprogram

Klientprogram? Torrent

Det finnes mange klientprogrammer på Internett. En av de mest populære er?Torrent. For å installere dette klientprogrammet må du først laste ned installasjonsfilen til dette programmet fra Internett på http://www.utorrent.com/.

På denne siden bør du klikke på knappen og laste ned installasjonsfilen for dette programmet til datamaskinen din. En nedlastingsdialogboks vises på skjermen, som ber deg lagre eller umiddelbart åpne den nedlastede filen. Hvis du trykker på knappen Lansering(Kjør), vil programmet installeres på datamaskinen din uten mellomliggende lagring på harddisken. Hvis knappen trykkes Lagre(Lagre), vil installasjonsfilen bli lagret i mappen du spesifiserte. I dette tilfellet kan du installere programmet på et tidspunkt som passer for deg.

Det er ikke vanskelig å installere programmet på datamaskinen.

1. Velg nedlastingsalternativ Lansering(Kjør) eller dobbeltklikk på den lagrede installasjonsfilen. En dialogboks vises på skjermen Velg språk(Velg språk), fra rullegardinlisten skal du velge ønsket språk.

2. Velg ønsket språk og trykk på knappen OK. Det første installasjonsveiviservinduet vises.

3. Klikk på knappen i det første vinduet i installasjonsveiviseren Lengre(Neste). På skjermen vil du se et andre vindu i installasjonsveiviseren med en advarsel om nettverkssvindlere.

4. Etter å ha lest advarselen om nettsvindlere, klikk på knappen Lengre(Neste) for å vise lisensavtalen. Etter at du har lest lisensavtalen, klikker du på knappen jeg er enig(Jeg er enig).

Følgende installasjonsveiviservindu vises, som viser standard installasjonsbane for programmet og ber deg feste programmets hurtigstartkoblinger til menyen Start(Start), i hurtigstartpanelet og installer til Skrivebord(skrivebord) snarvei. I tillegg vil du se i den samme dialogboksen i inndatafeltet Programplassering(Installasjonsbane) banen der datamaskinen foreslår å plassere installasjonsfilen som standard.

5. Klikk på knappen i dialogboksen for valg av installasjonssted Lengre(Neste) for å vise dialogboksen Konfigurasjon(Konfigurasjon).

I denne dialogboksen vil du se standard avmerkingsbokser for å velge filtyper og alternativer som skal behandles, og automatisere konfigurasjonen av tilleggsinnstillinger i Windows. Det anbefales ikke å tilbakestille disse flaggene med mindre det er absolutt nødvendig.

Hvis du ikke vil installere et ekstra panel i nettleseren din, fjerner du merket for den tilsvarende boksen.

7. Bestem om du vil installere denne ekstra verktøylinjen på datamaskinen din, og klikk på knappen Installere(Installere). ?Torrent-programvinduet vises på skjermen. Men siden dette er den første lanseringen av programmet, vil du se en dialogboks øverst i programvinduet Hastighetsoptimerer(Speed ​​​​Guide) (Fig. 6.2).

Det er ikke nødvendig å ta en fartsprøve. Nok i nedtrekkslisten Tilkoblingstype(Tilkoblingstype) angi tilkoblingstypen din.

8. Velg Internett-tilkoblingstype og klikk på knappen Bruk valgt(Bruk valgte innstillinger). Dialogvindu Hastighetsoptimerer(Speed ​​​​Guide) vil bli lukket og du vil se ?Torrent-programvinduet (fig. 6.3).

I utgangspunktet trenger du ikke konfigurere noe annet. I de fleste tilfeller er innstillingene som er gjort tilstrekkelige til å laste ned/distribuere filer.

Fra boken 200 beste programmer for Linux forfatter Yaremchuk Sergey Akimovich

Ekiga-klient Ubuntu-distribusjonen bruker Ekiga (http://www.ekiga.org/) som en applikasjon for IP-telefoni og videokonferanser. Den første versjonen av dette programmet ble skrevet av Damien Sandras, som nå er en av prosjektlederne, som en avhandling

Fra Delphi-boken. Lære ved eksempel forfatter Parizhsky Sergey Mikhailovich

Kapittel 18 FTP-klient Problemformulering Utvikle en FTP-klient. Programmet må kobles til en FTP-server, gjennomgå autentisering og gi brukeren muligheten til å arbeide med filer som ligger på serveren. Brukeren må kunne overføre og

Fra boken Effektivt kontorarbeid forfatter Ptashinsky Vladimir Sergeevich

E-postklient Oversatt fra datasjargong er dette et enkelt program for å motta og sende e-post. Dette er en nødvendig operasjon, og det er derfor det er mange programmer av denne typen. Outlook er imidlertid den enkleste og mest praktiske, noe som ikke er vanskelig å bevise. For det første er Outlook universelt: det

Fra boken Self-instruction manual for arbeid på en datamaskin forfatter

Nero Express-program Det beste programmet for å brenne plater Å brenne plater med Windows er ikke interessant. For det første er det kjedelig, og for det andre har du ikke tilgang til noen opptaksinnstillinger, du kan ikke engang spesifisere hastigheten, enn si velge plateformat eller opptaksmetode. Her

Fra boken Gratis samtaler over Internett forfatter Fruzorov Sergey

Klientprogram Roger Wilcos gratisversjonsklientprogram er annerledes ved at det ikke har en Host Base Station-fane i vinduet. Dette er naturlig, siden serveren startes separat og konfigureres i kommandolinjemodus. Likevel,

Fra boken Hvordan finne og laste ned alle filer på Internett forfatter Reitman M.A.

Programvindu?Torrent Før vi begynner å jobbe med dette programmet, la oss først gjøre oss kjent med kontrollene til dette programmet. Som de fleste andre Windows-programmer, vil du se programmets tittellinje øverst i programmet. På venstre side av linjen

Fra boken En visuell opplæring for å jobbe med en netbook forfatter Senkevich G.E.

Fra boken Linux: The Complete Guide forfatter Kolisnichenko Denis Nikolaevich

Laste opp filer ved hjelp av programmet?Torrent Nå kan du begynne å laste ned de ønskede filene. Men for å gjøre dette, må du først finne en torrent, ved hjelp av hvilken denne filen da blir lastet ned. Slike torrenter er plassert på spesielle nettsteder - trackere. I Russland mest

Fra boken Firebird DATABASE UTVIKLERGUIDE av Borri Helen

QIP - en alternativ ICQ-klient For kommunikasjon i ICQ vil du kanskje like den alternative ICQ-klienten - QIP-programmet. Det er to versjoner av dette programmet: QIP 2005 og OIP Infium. På en netbook bør man foretrekke en enklere og mer kompakt versjon - QIP 2005. QIP 2005-programmet har

Fra boken Introduction to QNX/Neutrino 2. A Guide to Programming Real-Time Applications in the QNX Realtime Platform av Curten Rob

Fra boken Udokumenterte og lite kjente funksjoner i Windows XP forfatter Klimenko Roman Alexandrovich

Klient-server Lokal tilgang betyr.* Lokal TCP/IP-stubb. For flerlags serverapplikasjoner og andre klienter er tilgangen til den lokale serveren på enhver støttet plattform via TCP/IP: selv i fravær av et nettverkskort, er tilkoblingen

Fra boken UNIX: Network Application Development forfatter Stevens William Richard

Klient En klient som ønsker å sende en forespørsel til en server blokkeres inntil serveren har fullført behandlingen av forespørselen. Deretter, etter at serveren har fullført behandlingen av forespørselen, frigis klienten for å akseptere "svaret". Dette innebærer å sikre to betingelser: klienten

Fra boken Sosiale nettverk. VKontakte, Facebook og andre... forfatter Leontyev Vitaly Petrovich

DNS-klient Tjenesten er laget for å få IP-adressen til en ekstern datamaskin hvis domenet eller URL-adressen til denne datamaskinen er kjent (for eksempel www.mail.ru). I dette tilfellet implementeres prosessen med å skaffe IP-adressen til en ekstern datamaskin gjennom samhandlingen av DNS-klienttjenesten med

Fra forfatterens bok

Webklient Tjenesten lar deg redigere eller legge til filer som er lagret på Internett. Hvis du ikke trenger denne standard Windows-funksjonen, er det bedre å deaktivere tjenesten Web Client-tjenesten tar opp omtrent 800 KB RAM og kjører med lokale tjenesterettigheter (NT

Fra forfatterens bok

30.3. TCP Test Client Listing 30.1 viser klienten som vil bli brukt til å teste alle varianter av serveren vår 30.1. TCP-klientkode for å sjekke forskjellige versjoner av serveren //server/client.c 1 #include "unp.h" 2 #define MAXN 16384 /* maksimalt antall byte som

Fra forfatterens bok

Torrent-klient?Torrent Du er sannsynligvis allerede seriøst lei av disse teoretiske raningene, er du ivrig etter å kjempe og slå hovene dine? Vel, la oss gå videre til praksis. For å begynne å jobbe med torrenter trenger vi to ting: for det første et spesielt nedlastingsprogram, og for det andre -

Klientprogram

Jobber med WinSocket

Socket (socket, connector) er et abstrakt programvarekonsept som brukes til å angi i et applikasjonsprogram endepunktet til en kommunikasjonskanal med et kommunikasjonsmiljø dannet av et datanettverk. Når du bruker TCP/IP-protokoller, kan vi si at en socket er et middel for å koble et applikasjonsprogram til porten (se ovenfor) til en lokal nettverksnode.

Et socket-grensesnitt er ganske enkelt et sett med systemanrop og/eller bibliotekfunksjoner til SI-programmeringsspråket, delt inn i fire grupper:

1. Lokal kontroll

2. Etablere kommunikasjon

3. Datautveksling (input/output)

4. Avsluttende kommunikasjon

5. Eksempel på bruk av WinSocket

Nedenfor diskuterer vi en undergruppe av socket-grensesnittfunksjonene som er tilstrekkelige til å skrive nettverksapplikasjoner som implementerer klient-server-modellen i tilkoblingsorientert modus.

1. Lokale kontrollfunksjoner

Lokale kontrollfunksjoner brukes hovedsakelig til å utføre de forberedende handlingene som er nødvendige for å organisere samspillet mellom to partnerprogrammer. Funksjoner kalles dette fordi deres utførelse er lokal for programmet.

1.1 Opprette en stikkontakt

Opprettelsen av en stikkontakt utføres av følgende systemanrop

#inkludere int socket (domene, type, protokoll) int domene; int type; int protokoll;

Domeneargumentet spesifiserer settet med protokoller som brukes for interaksjon (en type kommunikasjonsdomene for TCP/IP-protokollstabelen må ha den symbolske verdien AF_INET (definert i sys/socket.h).

Typeargumentet spesifiserer interaksjonsmodusen:

SOCK_STREAM - med forbindelsesetablering;

SOCK_DGRAM - uten å opprette en forbindelse.

Protokollargumentet spesifiserer en spesifikk transportlagsprotokoll (fra flere mulige protokoller i protokollstabelen). Hvis dette argumentet er satt til 0, vil standardprotokollen bli brukt (TCP for SOCK_STREAM og UDP for SOCK_DGRAM ved bruk av TCP/IP-protokollpakken).

Når arbeidet er fullført, returnerer denne funksjonen socket-deskriptoren - et ikke-negativt heltall som unikt identifiserer det. Socket-beskrivelsen ligner på UNIX OS-filbeskrivelsen.

Hvis en feil oppdages under driften, returnerer funksjonen tallet "-1".

1.2. Bindingskontakt

For å koble en socket til kommunikasjonsmiljøet dannet av et datanettverk, er det nødvendig å utføre bindesystemanropet, som bestemmer i formatet som er akseptert for nettverket, den lokale adressen til kommunikasjonskanalen med miljøet. kontakten er knyttet til en lokal port. Bindingssystemanropet har følgende syntaks:

#inkludere

#inkludere #inkludere int bind (s, addr, addrlen) int s; struct sockaddr *addr; int addlen;

Argumentet s spesifiserer beskrivelsen av sokkelen som er bundet.

Addr-argumentet bør generelt peke til en datastruktur som inneholder den lokale adressen som er tildelt til socket. For TCP/IP-nettverk er denne strukturen sockaddr_in.

Sockaddr_in-strukturen brukes av flere systemanrop og socket-grensesnittfunksjoner og er definert i include-filen in.h som følger:

struct sockaddr_in (kort sin_familie; u_kort sin_port; struct in_addr sin_adr; char sin_null; );

Sin_family-feltet bestemmer adresseformatet som brukes (protokollsett), i vårt tilfelle (for TCP/IP) skal det ha verdien AF_INET.

Sin_addr-feltet inneholder adressen (nummeret) til nettverksnoden.

Sin_port-feltet inneholder portnummeret på nettverksnoden.

Sin_zero-feltet brukes ikke.

Definisjonen av in_addr-strukturen (fra den samme include-filen) er:

struct in_addr ( union ( u_long S_addr; /*

andre (ikke av interesse for oss)

medlemmer av foreningen */

) S_un; #define s_addr S_un.S_addr );

Sockaddr_in-strukturen må være fullstendig fylt før du sender ut bindsystemkallet. I dette tilfellet, hvis sin_addr.s_addr-feltet har verdien INADDR_ANY, vil systemanropet binde nummeret (adressen) til den lokale nettverksnoden til kontakten.

Hvis vellykket, returnerer bind 0, ellers "-1".

2. Tilkoblingsfunksjoner

For å etablere en klient-server-forbindelse, brukes lytt og godta systemanrop (på serversiden), samt koble til (på klientsiden). For å fylle ut feltene i socaddr_in-strukturen som brukes i koblingsanropet, brukes vanligvis bibliotekfunksjonen gethostbyname, som oversetter det symbolske navnet på verten til nummeret (adressen).

2.1. Venter på at tilkoblingen skal opprettes

Lyttesystemanropet uttrykker ønsket til serverprogrammet som utstedte det om å vente på forespørsler til det fra klientprogrammer og har følgende form:

#inkludere int lytte (s, n) int s; int n;

Argumentet s spesifiserer et socket-håndtak som programmet vil lytte etter forespørsler til det fra klienter. Socket må først opprettes med socket-systemkallet og forsynes med en adresse ved å bruke bind-systemkallet.

Argumentet n spesifiserer maksimal kølengde for innkommende håndtrykkforespørsler. Hvis en klient utsteder en håndtrykkforespørsel når køen er full, vil forespørselen bli avvist.

Suksessen til lyttesystemanropet indikeres med en returkode på null.

For å kontakte et klientprogram til serveren med en forespørsel om å opprette en logisk tilkobling, bruk koble systemanropet, som har følgende skjema

#inkludere

#inkludere #inkludere int koble (s, addr, addrlen) int s; struct sockaddr_in *addr; int addlen;

Argumentet s spesifiserer et håndtak til socket som programmet gjør en tilkoblingsforespørsel til serveren. Socket må først opprettes med socket-systemkallet og forsynes med en adresse ved å bruke bind systemkallet.

Addr-argumentet må peke til en datastruktur som inneholder adressen som er tilordnet til socket" til serverprogrammet som tilkoblingsforespørselen gjøres til. For TCP/IP-nettverk er denne strukturen sockaddr_in. For å generere verdiene til feltene til sockaddr_in-strukturen, er det praktisk å bruke funksjonen gethostbyname.

Addrlen-argumentet spesifiserer størrelsen, i byte, på datastrukturen spesifisert av addr-argumentet.

For at en tilkoblingsforespørsel skal lykkes, er det nødvendig at minst serverprogrammet har utført et lyttesystemanrop for kontakten med den spesifiserte adressen på dette tidspunktet.

Hvis forespørselen er vellykket, returnerer koble systemkallet 0, ellers -1 (angir feilårsakskoden i den globale variabelen errno).

Merk. Hvis på tidspunktet tilkoblingen utføres, kontakten den bruker ikke har blitt bundet til en adresse ved hjelp av bind , vil slik binding utføres automatisk.

Merk. I tilkoblingsløs kommunikasjonsmodus er det ikke nødvendig å utstede systemanropet. Imidlertid er utførelsen i denne modusen ikke en feil - betydningen av handlingene som utføres i dette tilfellet endres ganske enkelt: "standard" -adressen er satt for alle påfølgende datagramsendinger.

2.3. Mottar en tilkoblingsforespørsel

For å godta forespørsler fra klientprogrammer om å etablere kommunikasjon, bruker serverprogrammer aksept systemkallet, som ser slik ut:

#inkludere

#inkludere int akseptere (s, addr, p_addrlen) int s; struct sockaddr_in *addr; int *p_addrlen;

s-argumentet spesifiserer socket-håndtaket som serverprogrammet mottok tilkoblingsforespørselen gjennom (via lyttesystemforespørselen).

Addr-argumentet må peke til et minneområde som er stort nok til å romme en datastruktur som inneholder adressen til kontakten til klientprogrammet som gjorde tilkoblingsforespørselen. Ingen initialisering av dette området er nødvendig.

p_addrlen må peke til et minneområde, spesifisert som et heltall som spesifiserer størrelsen, i byte, på minneområdet spesifisert av addr.

Godta systemanropet henter den første tilkoblingsforespørselen fra køen som vedlikeholdes av lyttesystemanropet og returnerer et håndtak til en ny (automatisk opprettet) socket med samme egenskaper som socket spesifisert av s-argumentet. Dette nye håndtaket må brukes i alle påfølgende kommunikasjonsoperasjonsdata.

I tillegg, etter vellykket gjennomføring, godta:

minneområdet angitt av addr-argumentet vil inneholde en datastruktur (for TCP/IP-nettverk er dette sockaddr_in) som beskriver socket-adressen til klientprogrammet som det gjorde sin tilkoblingsforespørsel gjennom;

heltallet pekt på av p_addrlen vil være lik størrelsen på denne datastrukturen.

Hvis forespørselskøen er tom på tidspunktet aksept blir utført, går programmet inn i en tilstand med å vente på at forespørsler fra klienter skal ankomme på ubestemt tid (selv om denne atferden for aksept kan endres).

Tegnet på akseptfeil er en negativ returverdi (socket-beskrivelsen kan ikke være negativ).

Merk. Godta systemkallet brukes i serverprogrammer som opererer i kun tilkoblingsmodus.

2.4. Genererer en nettverksvertsadresse

For å få adressen til en TCP/IP-nettverksnode ved dets symbolske navn, bruk bibliotekfunksjonen

#inkludere

#inkludere struct hostent *gethostbyname (navn) char *navn;

Navneargumentet spesifiserer adressen til sekvensen av tegn som danner det symbolske navnet på nettverksverten.

Etter vellykket fullføring returnerer funksjonen en peker til vertsstrukturen, definert i include-filen netdb.h og har følgende skjema

struct hostent ( char *h_name; char **h_aliases; int h_addrtype; int h_lenght; char *h_addr; );

Feltet h_navn indikerer det offisielle (primære) navnet på noden.

Feltet h_aliaser peker til en liste over ytterligere nodenavn (synonymer), hvis noen.

Feltet h_addrtype inneholder identifikatoren til protokollsettet som brukes for TCP/IP-nettverk, vil dette feltet ha verdien AF_INET.

h_lenght-feltet inneholder lengden på nodeadressen.

h_addr-feltet peker til et minneområde som inneholder vertsadressen som brukes av systemanrop og socket-grensesnittfunksjoner.

Et eksempel på å kalle opp gethostbyname-funksjonen for å få adressen til en ekstern vert i et klientprogram som bruker koble systemkallet til å generere en forespørsel om å opprette en forbindelse med et serverprogram på denne verten er diskutert nedenfor.

3. Kommunikasjonsfunksjoner

I logisk tilkoblingsmodus, etter vellykket utførelse av et par sammenkoblede systemanrop kobles til (i klienten) og godta (på serveren), blir datautveksling mulig.

Denne utvekslingen kan implementeres av de vanlige lese- og skrivesystemanropene som brukes til å jobbe med filer (i stedet for filbeskrivelser er socket-beskrivelser spesifisert i dem).

I tillegg kan sende- og recv-systemanrop, orientert spesifikt mot arbeid med stikkontakter, brukes i tillegg.

Merk. For å utveksle data i tilkoblingsløs modus, brukes vanligvis sendeto og recvfrom systemanrop. Sendto lar deg spesifisere, sammen med de overførte dataene (som utgjør et datagram), adressen til mottakeren. Recvfrom, samtidig med levering av data til mottakeren, informerer ham om avsenderens adresse.

3.1. Sender data

For å sende data til en nettverkspartner, bruk send systemanropet, som ser slik ut:

#inkludere

#inkludere int send (s, buf, len, flagg) int s; røye *buf; int len; int flagg;

Argumentet s spesifiserer socket-beskrivelsen som data sendes gjennom.

Buf-argumentet peker på minneplasseringen som inneholder dataene som skal overføres.

Len-argumentet spesifiserer lengden (i byte) på dataene som skal overføres.

Flagg-argumentet endrer utførelsen av send systemkallet. Når dette argumentet er satt til null, er sendeanropet nøyaktig det samme som skrivesystemanropet.

Ved suksess returnerer send antall byte med data som er overført fra området spesifisert av buf-argumentet. Hvis datakanalen identifisert av deskriptor s blir "full", så setter send programmet i ventetilstand til det er frigjort.

3.2. Mottar data

For å motta data fra en nettverkspartner, bruk recv-systemanropet, som ser slik ut:

#inkludere

#inkludere int recv (s, buf, len, flagg) int s; røye *buf; int len; int flagg;

Argumentet s spesifiserer socket-beskrivelsen som data mottas gjennom.

Buf-argumentet peker på et minneområde dedikert til å motta data.

Len-argumentet spesifiserer lengden, i byte, av denne regionen.

Flagg-argumentet endrer utførelsen av recv-systemkallet. Når dette argumentet er satt til null, er det å kalle recv nøyaktig det samme som å kalle det leste systemanropet.

Ved suksess returnerer recv antall byte med data mottatt i området spesifisert av buf-argumentet. Hvis datakanalen identifisert av deskriptor s er tom, setter recv programmet i en ventetilstand til data vises i det.

4. Lukkefunksjoner

For å lukke kommunikasjon med en nettverkspartner, brukes lukke- og avslutningssystemet.

4.1. lukke systemanrop

For å lukke en tidligere opprettet socket, bruk den vanlige lukkesystemanropet, som brukes i UNIX OS for å lukke tidligere åpne filer og har følgende form

int close (s) int s;

Imidlertid, i logisk tilkoblingsmodus (som som regel sikrer pålitelig datalevering), vil utvekslingsmekanismer innenfor systemet prøve å sende/motta data som er igjen i overføringskanalen på det tidspunktet kontakten lukkes. Dette kan kreve en betydelig tid intervall, uakseptabelt for noen applikasjoner I en slik situasjon må du bruke avslutningssystemet som er beskrevet nedenfor.

4.2. Tilbakestiller bufrede data

For å "nød" lukke en forbindelse med en partner (ved å "tilbakestille" data som ennå ikke er overført), brukes avstengningssystemkallingen, utføres før lukking og har følgende skjema

int shutdown (s, hvordan) int s; int hvordan;

Argumentet s spesifiserer et håndtak til en tidligere opprettet socket.

How-argumentet spesifiserer handlingene som skal utføres når sokkelens systembuffere tømmes:

2 - tilbakestill alle data som sendes gjennom stikkontakten i alle retninger.

5. Eksempel på bruk av socket-grensesnittet

Denne delen diskuterer bruken av socket-grensesnittet i interaksjonsmodus med etablering av en logisk forbindelse ved å bruke et veldig enkelt eksempel på samspillet mellom to programmer (server og klient) som opererer på forskjellige noder i TCP/IP-nettverket.

serveren, etter å ha akseptert tilkoblingsforespørselen, sender klienten spørsmålet "Hvem er du?";

klienten, etter å ha mottatt spørsmålet, skriver det ut til standardutdata og sender svaret "Jeg er din klient" til serveren og fullfører arbeidet;

serveren skriver ut klientens svar på standardutdata, lukker kommunikasjonen med den og går inn i tilstanden til å vente på neste forespørsel til den.

Merk. Programtekstene som tilbys nedenfor er kun ment å illustrere logikken til interaksjon mellom programmer over nettverket, derfor inneholder de ikke slike attributter til programmer beregnet for praktisk bruk, for eksempel behandling av returkoder for systemanrop og funksjoner, analyse av feilkoder i global variabel errno, reagerer på asynkrone hendelser osv. .P.

5.1. Serverprogram

Teksten til serverprogrammet i SI-programmeringsspråket ser slik ut:

1 #inkluderer

2 #inkluderer

3 #inkluderer

4 #inkluder

5 #inkluder

6 #define SRV_PORT 1234

7 #define BUF_SIZE 64

8 #define TXT_QUEST "Hvem er du?n"

10 int s, s_new;

11 int from_len;

12 røyer buff;

13 struct sockaddr_in sin, from_sin;

14 s = socket(AF_INET, SOCK_STREAM, 0);

15 memset ((char *)&sin, "", sizeof(sin));

16 sin.sin_family = AF_INET;

17 sin.sin_addr.s_addr = INADDR_ANY;

18 sin.sin_port = SRV_PORT;

19 bind (s, (struktur sockaddr *)&sin, sizeof(sin));

20 lytt(er, 3);

22 fra_len = størrelse på(fra_sin);

23 s_new = godta (s, &from_sin, &from_len);

24 write(s_new, TXT_QUEST, sizeof(TXT_QUEST));

25 from_len = lest (s_new, buf, BUF_SIZE);

26 skriv(1, buf, fra_len);

27 shutdown(s_new, 0);

28 close(s_new);

Linje 1...5 beskriver include-filene, som inneholder definisjoner for alle nødvendige datastrukturer og symbolske konstanter.

Linje 6 tildeler det symbolske navnet SRV_PORT til heltallskonstanten 1234. I fremtiden vil denne konstanten bli brukt som serverportnummer. Verdien av denne konstanten må også være kjent for klientprogrammet.

Linje 7 tildeler det symbolske navnet BUF_SIZE til heltallskonstanten 64. Denne konstanten vil bestemme størrelsen på bufferen som brukes til å imøtekomme data mottatt fra klienten.

Linje 8 tildeler det symbolske navnet TXT_QUEST til sekvensen av tegn som utgjør teksten til klientens spørsmål. Det siste tegnet i sekvensen er nylinjetegnet "n". Dette ble gjort for å forenkle utgangen av spørsmålsteksten på klientsiden.

I linje 14 opprettes (åpnes) en socket for å organisere interaksjonsmodusen med etablering av en logisk forbindelse (SOCK_STREAM) i TCP/IP-nettverket (AF_INET), ved valg av transportlagsprotokoll, "standard"-protokollen (0 ) benyttes.

I linjene 15...18 tilbakestilles først sin datastruktur, og deretter fylles dens individuelle felter ut. Bruk av INADDR_ANY-konstanten forenkler koden ved å eliminere behovet for å bruke gethostbyname-funksjonen for å få adressen til den lokale verten som serveren kjører på.

Linje 19 bruker bindingssystemkallet til å binde socket spesifisert av deskriptor s til portnummer SRV_PORT på den lokale noden. Bind vil fullføres på en vellykket måte forutsatt at det ikke lenger er et program som kjører på den samme noden som bruker dette portnummeret på tidspunktet for utførelse.

Linje 20 bruker lyttesystemanropet til å sette tre innkommende tilkoblingsforespørsler i kø til serveren.

Linje 21 fungerer som overskriften for den endeløse løkken av serviceforespørsler fra klienter.

På linje 23, som inneholder aksepter systemanropet, blir programkjøringen suspendert på ubestemt tid hvis køen av forespørsler til serveren om å etablere en forbindelse er tom. Når en slik forespørsel vises, aksepterer fullførte vellykket, og returnerer en socket-deskriptor i s_new-variabelen for å utveksle informasjon med klienten.

På linje 24 sender serveren et spørsmål til klienten ved å bruke skrivesystemanropet.

Linje 25 bruker lesesystemkallet for å lese klientens svar.

På linje 26 sendes svaret til standard utgang, som har fildeskriptor nummer 1. Siden svarlinjen inneholder et linjeskifttegn, vil svarteksten bli plassert på en egen linje i displayet.

Linje 27 inneholder shutdown-systemutgangen, som sletter sokkelens systembuffere som inneholder data som skal leses ("ekstra" data kan havne der som et resultat av feil klientoperasjon).

Linje 28 lukker (sletter) kontakten som brukes til å utveksle data med neste klient.

Merk. Dette programmet (som de fleste ekte serverprogrammer) fullfører ikke arbeidet på egen hånd, og er i en endeløs løkke med behandling av klientforespørsler. Dens utførelse kan bare avbrytes eksternt ved å sende den fullføringssignaler (avbrudd). Et riktig utformet serverprogram bør håndtere slike signaler ved å stenge ned på en elegant måte (ved å lukke, spesielt, kontakten med håndtak s).

Teksten til klientprogrammet i SI-programmeringsspråket ser slik ut:

1 #inkluderer

2 #inkluderer

3 #inkluderer

4 #inkluder

5 #inkluder

6 #define SRV_HOST "delta"

7 #define SRV_PORT 1234

8 #define CLNT_PORT 1235

9 #define BUF_SIZE 64

10 #define TXT_ANSW "Jeg er din klient"

13 int from_len;

14 røyer buff;

15 struct hostent *hp;

16 struct sockaddr_in clnt_sin, srv_sin;

17 s = socket(AF_INET, SOCK_STREAM, 0);

18 memset ((char *)&clnt_sin, "", sizeof(clnt_sin));

19 clnt_sin.sin_family = AF_INET;

20 clnt_sin.sin_addr.s_addr = INADDR_ANY;

21 clnt_sin.sin_port = CLNT_PORT;

22 bind (s, (struktur sockaddr *)&clnt_sin, sizeof(clnt_sin));

23 memset ((char *)&srv_sin, "", sizeof(srv_sin));

24 hp = gethostbyname(SRV_HOST);

25 srv_sin.sin_family = AF_INET;

26 memcpy ((char *)&srv_sin.sin_addr,hp->h_addr,hp->h_length);

27 srv_sin.sin_port = SRV_PORT;

28 koble til (s, &srv_sin, sizeof(srv_sin));

29 from_len = recv (s, buf, BUF_SIZE, 0);

30 skriv(1, buf, fra_len);

31 send(s, TXT_ANSW, størrelse på(TXT_ANSW), 0);

Linje 6 og 7 beskriver konstantene SRV_HOST og SRV_PORT, som definerer navnet på den eksterne verten som serverprogrammet opererer på og portnummeret som serversocket er bundet til.

Linje 8 tildeler det symbolske navnet CLNT_PORT til heltallskonstanten 1235. I fremtiden vil denne konstanten bli brukt som klientportnummer.

Linjene 17...22 lager en socket bundet til en port på den lokale noden.

Linje 24 bruker gethostbyname-bibliotekfunksjonen for å oversette det symbolske navnet på den eksterne verten (i dette tilfellet "delta") som serveren skal operere på til adressen til denne noden, som ligger i en vertstypestruktur.

Linje 26 kopierer adressen til den eksterne noden fra vertsstrukturen inn i det tilsvarende feltet i srv_sin-strukturen, som senere (på linje 28) brukes i koble systemkallet for å identifisere serverprogrammet.

I linjene 29...31 utveksles data med serveren og spørsmålet mottatt fra serveren sendes ut til standardutgang.

Linje 32 lukker (sletter) stikkontakten ved å bruke lukkesystemanropet.

Bibliografi

For å forberede dette arbeidet ble det brukt materialer fra nettstedet http://www.realcoding.net/