Vanligvis, en server som kjører på en bestemt datamaskin og har en kontakt som er bundet til en bestemt port nummer. Serveren bare venter og lytter til kontakt for en klient å gjøre en tilkobling forespørsel.
På klient-side: klienten vet vertsnavnet av maskinen som serveren er i gang og portnummeret som tjeneren lytter. For å opprette en tilkobling forespørsel, klienten prøver å rendezvous med en server på server maskin og port., Klienten har også behov for å identifisere seg selv til serveren, slik at den binder seg til en lokal port nummer som brukes i denne forbindelse. Dette er vanligvis tilordnes av systemet.
Hvis alt går bra, server aksepterer den forbindelse. Ved aksept server får en ny socket bundet til det samme lokale port og også har sin eksterne endepunkt satt til adressen og porten til klienten., Det er behov for en ny kontakt, slik at den kan fortsette å lytte til den opprinnelige kontakten for tilkobling forespørsler mens du har en tendens til behov tilkoblet klienten.
På klientsiden, hvis tilkoblingen er akseptert, er en kontakt er opprettet og klienten kan bruke kontakten for å kommunisere med serveren.
klient og server, kan nå kommunisere ved å skrive til eller lese fra sine sokler.,
En socket er en endepunktet av en to-veis kommunikasjon kobling mellom to programmer som kjører på nettverket. En socket er bundet til en port nummeret, slik at TCP lag kan identifisere programmet som data er skjebnebestemt til å bli sendt til.
Et endepunkt er en kombinasjon av en IP-adresse og et portnummer. Hver TCP-tilkoblingen kan bli identifisert ved de to endepunktene. På den måten kan du ha flere tilkoblinger mellom din vert og server.,
java.net
pakken i Java-plattformen gir en klasse, Socket
, som implementerer den ene siden av en to-veis-tilkoblingen mellom din Java-program og et annet program på nettverket. Socket
klassen sitter på toppen av en plattform-avhengige gjennomføring, skjule detaljer om et bestemt system fra din Java-program. Ved å bruke java.net.Socket
klasse i stedet for å stole på egen kode, din Java-programmer kan kommunisere over nettverket i et plattform-uavhengig måte.,
i Tillegg, java.net
har ServerSocket
klasse som implementerer en socket at servere kan bruke til å lytte til og godta tilkoblinger til kunder. Denne leksjonen viser deg hvordan du bruker Socket
og ServerSocket
klasser.
Hvis du prøver å koble til Internett, URL
klasse og relaterte klasser (URLConnection
, URLEncoder
) er sannsynligvis mer hensiktsmessig enn socket klasser., Faktisk, Url-er et relativt høyt nivå tilkobling til Internett og bruk stikkontakter som en del av den underliggende gjennomføring. Se Arbeide med url-adresser for informasjon om hvordan du kobler til Internett via url.