Aflați totul despre Socket Programming în Java



Programarea Java Socket este utilizată pentru comunicarea între aplicațiile care rulează pe diferite JRE. Programarea Java Socket poate fi orientată spre conexiune sau fără conexiune.

Programare socket în este utilizat pentru comunicarea între aplicațiile care rulează pe diferite . Poate fi orientat spre conexiune sau fără conexiune. În general, un socket este o modalitate de a stabili o conexiune între un client și un server. În acest articol, vă voi spune totul despre Socket Programming.

Subiectele de mai jos sunt tratate în acest articol:





Ce este programarea Socket în Java?

Programare socket este o modalitate de conectare a două noduri dintr-o rețea pentru a comunica între ele. unu priză (nod) ascultă pe un anumit port la un IP, în timp ce altul priză ajunge la celălalt pentru a forma o conexiune.

Comunicare server client - Programare socket în Java - Edureka



Serverul formează ascultătorul priză în timp ce clientul ajunge la server. Socket și Server Socket sunt utilizate pentru programarea socketului orientată spre conexiune.

Acum să înțelegem conceptul de bază al programării socket, adică un socket.

Ce este un socket în Java?

LA priză în este un punct final al unei legături de comunicație bidirecțională între două programe care rulează în rețea. A priză este legat de un număr de port, astfel încât stratul TCP să poată identifica aplicația către care sunt destinate să fie trimise datele.



Un punct final este o combinație între o adresă IP și un număr de port. Pachetul din platforma Java oferă o clasă,Prizăcare implementează o parte a unei conexiuni bidirecționale între programul dvs. Java și un alt program din rețea. Clasa se află deasupra unei implementări dependente de platformă, ascunzând detaliile oricărui sistem particular din programul dvs. Java. Utilizând clasa în loc să vă bazați pe codul nativ, poate comunica prin rețea într-un mod independent de platformă.

Acum că știți, ce este Socket în Java, să mergem mai departe și să înțelegem cum comunică clientul cu serverul și cum răspunde serverul înapoi.

Programare pe partea clientului

În cazul programării pe partea clientului, clientul va aștepta mai întâi pornirea serverului. Odată ce serverul este în funcțiune, acesta va trimite solicitările către server. După aceea, clientul va aștepta răspunsul de la server. Deci, aceasta este întreaga logică a comunicării client și server. Acum, să înțelegem în detaliu partea client și programarea server.

cum se folosește br în html

Pentru a iniția o solicitare a clienților, trebuie să urmați pașii de mai jos:

1. Stabiliți o conexiune

Primul pas este stabilirea unei conexiuni socket. O conexiune socket implică faptul că cele două mașini au informații despre locația rețelei (adresa IP) și portul TCP.

Puteți crea un socket cu ajutorul unei declarații de mai jos:

Soclu soclu = soclu nou („127.0.0.1”, 5000)

  • Aici, primul argument reprezintă Adresa IP a serverului .

  • Al doilea argument reprezintă Port TCP . (Este un număr care reprezintă aplicația care ar trebui să ruleze pe un server.)

2. Comunicare

Pentru a comunica printr-o conexiune socket, fluxurile sunt utilizate atât pentru intrarea cât și pentru ieșirea datelor. După stabilirea unei conexiuni și trimiterea solicitărilor, trebuie să închideți conexiunea.

3. Închiderea conexiunii

Conexiunea socket este închisă în mod explicit odată ce mesajul către server este trimis.

Acum să vedem cum să scriem un program Java pentru a implementa conexiunea socket la partea clientului.

// Un program Java pentru un import ClientSide java.net. * Import java.io. * public class ClientProgram {// inițializează socket și fluxuri de ieșire de intrare private Socket socket = nul privat DataInputStream input = nul privat DataOutputStream out = nul // constructor pentru a pune adresa IP și portul public Client (String address, int port) {// stabiliți o conexiune încercați {socket = new Socket (adresa, port) System.out.println ('Connected') // preia intrarea de la terminal input = new DataInputStream (System.in) // trimite ieșire către socket out = new DataOutputStream (socket.getOutputStream ())} catch (UnknownHostException u) {System.out.println (u)} catch (IOException i) {System.out .println (i)} // șir pentru a citi mesajul de la intrare Șir de linie = '' // continuați să citiți până când se introduce 'Peste' în timp ce (! linie.equals ('Peste'))) {încercați {linie = intrare.circulează ( ) out.writeUTF (line)} catch (IOException i) {System.out.println (i)}} // închide conexiunea try {input.close () out.close () socket.close ()} catch (IOException eu ) {System.out.println (i)}} public static void main (String args []) {Client client = new Client ('127.0.0.1', 5000)}}

Acum, să implementăm programarea de pe server și apoi să ajungem la ieșire.

folosind spațiul de nume c ++

Programare laterală server

Practic, serverul își va instanția obiectul și va aștepta solicitarea clientului. Odată ce clientul trimite cererea, serverul va comunica înapoi cu răspunsul.

Pentru a codifica aplicația de pe server, aveți nevoie de două socluri și acestea sunt după cum urmează:

  • LA ServerSocket care așteaptă solicitările clientului (când un client realizează un nou socket ())

  • Un simplu vechi priză pentru comunicarea cu clientul.

După aceasta, trebuie să comunicați cu clientul cu răspunsul.

Comunicare

getOutputStream () metoda este utilizată pentru a trimite ieșirea prin soclu.

Închideți conexiunea

Este important să închideți conexiunea închizând soclul, precum și fluxurile de intrare / ieșire, odată ce totul este făcut.

Acum să vedem cum să scriem un program Java pentru a implementa conexiunea socket la partea serverului.

cum se creează tabloul de bord în power bi
// Un program Java pentru un server Serverside import java.net. * Import java.io. * public class ServerSide {// initialize socket and input stream private Socket socket = nul privat ServerSocket server = nul privat DataInputStream in = nul // constructor cu port public Server (port int) {// pornește serverul și așteaptă o conexiune încercați {server = nou ServerSocket (port) System.out.println („Server pornit”) System.out.println („Aștept un client .. . ') socket = server.accept () System.out.println (' Client acceptat ') // preia intrarea din soclul clientului în = new DataInputStream (new BufferedInputStream (socket.getInputStream ())) Linia șirului = '/ / citește mesajul de la client până când este trimis „Peste” în timp ce (! line.equals („Peste”)) {încercați {linie = în.readUTF () System.out.println (linie)} captură (IOException i) {Sistem. out.println (i)}} System.out.println ('Închiderea conexiunii') // închidere conexiune socket.close () in.close ()} catch (IOException i) {System.out.println (i)}} public static main main (String args []) { Server server = server nou (5000)}}

După ce ați configurat atât clientul, cât și serverul, puteți executa mai întâi programul de pe partea serverului. După aceea, trebuie să rulați programul client și să trimiteți cererea. De îndată ce cererea este trimisă de la finalul clientului, serverul va răspunde înapoi. Instantaneul de mai jos reprezintă același lucru.

1. Când rulați scriptul de pe server, acesta va porni și va aștepta ca clientul să înceapă.

2. Apoi, clientul se va conecta și introduce cererea sub forma unui șir.

3. Când clientul trimite cererea, serverul va răspunde înapoi.

Așa trebuie să executați un program socket în Java. De asemenea, puteți executa aceste programe pe o fereastră a terminalului sau pe un prompt de comandă. Dar, deoarece Eclipse este foarte avansat cu funcțiile sale, puteți pur și simplu să executați ambele programe pe o consolă.

Aceasta ne duce la sfârșitul articolului despre Socket Programming in Java. Sper că am aruncat o lumină asupra cunoștințelor tale Programare socket.

Verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Suntem aici pentru a vă ajuta cu fiecare pas din călătoria dvs., pentru a deveni o afară de întrebările de interviuri java, venim cu un curriculum care este conceput pentru studenți și profesioniști care doresc să fie un dezvoltator Java.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui articol „Programare socket în Java” și vă vom contacta cât mai curând posibil.