în mod normal, un server rulează pe un anumit computer și are o priză care este legată de un anumit număr de port. Serverul așteaptă doar, ascultând soclul pentru ca un client să facă o solicitare de conectare.
pe partea de client: clientul cunoaște numele de gazdă al mașinii pe care rulează serverul și numărul de port pe care serverul ascultă. Pentru a face o solicitare de conectare, clientul încearcă să se întâlnească cu serverul pe mașina și portul serverului., De asemenea, clientul trebuie să se identifice pe server, astfel încât să se lege de un număr de port local pe care îl va folosi în timpul acestei conexiuni. Acest lucru este de obicei atribuit de sistem.
Dacă totul merge bine, serverul acceptă conexiunea. După acceptare, serverul primește un nou soclu legat de același port local și are, de asemenea, punctul final de la distanță setat la adresa și portul clientului., Are nevoie de un soclu nou, astfel încât să poată continua să asculte soclul original pentru cererile de conectare, în timp ce tinde la nevoile clientului conectat.
Pe partea de client, în cazul în care conexiunea este acceptat, un socket este creat cu succes, iar clientul poate folosi la priza pentru a comunica cu serverul.
clientul și serverul pot comunica acum scriind sau citind din soclurile lor.,
un soclu este un punct final al unei legături de comunicare bidirecțională între două programe care rulează în rețea. Un socket este legat de un număr de port, astfel încât stratul TCP să poată identifica aplicația către care datele sunt destinate să fie trimise.
un punct final este o combinație între o adresă IP și un număr de port. Fiecare conexiune TCP poate fi identificată în mod unic prin cele două puncte finale. În acest fel puteți avea mai multe conexiuni între gazdă și server.,
java.net
pachetul în platforma Java oferă o clasă, Socket
, care implementează o parte de o conexiune în ambele direcții între Java program și un alt program de pe rețea. Clasa Socket
se află în partea de sus a unei implementări dependente de platformă, ascunzând detaliile oricărui sistem special din programul Java. Folosind clasa java.net.Socket
în loc să vă bazați pe codul nativ, programele Java pot comunica prin rețea într-un mod independent de platformă.,
de Asemenea, java.net
include ServerSocket
clasa, care pune în aplicare un soclu că serverele pot folosi pentru a asculta și a accepta conexiuni de la clienti. Această lecție vă arată cum să utilizați Socket
și ServerSocket
clase.
Dacă sunteți încercarea de a se conecta la Internet, URL
clasa și legate de clase (URLConnection
, URLEncoder
) sunt, probabil, mult mai potrivit decât socket clase., De fapt, adresele URL sunt o conexiune relativ la nivel înalt la Web și folosesc sockets ca parte a implementării de bază. Consultați Lucrul cu URL-uri pentru informații despre conectarea la Web prin URL-uri.