Introducere în programarea Socket în Java

World Wide Web și Internet au schimbat modul în care trăim și comunicăm între noi și modul în care desfășurăm știința, ingineria și comerțul. Viața modernă este condusă complet sau este centrată în jurul internetului. Întreprinderile sunt în continuă căutare de noi modalități de a produce și comunica cu diverse servicii într-o nouă modă care introduce inovația. În acest articol, vom discuta despre programarea Socket în Java.

Sockets oferă o interfață pentru rețelele de programare a stratului de transport al modelului OSI. Comunicările în rețea folosind socluri se găsesc omniprezent pe Internet. În plus, un program socket scris în Java poate comunica cu un program socket scris în limbaj non-Java cum ar fi C, C ++, Python etc.

Socket Class Methods

Metodele Socket Class se găsesc în Java. Un soclu este obligat să fie un număr de port, astfel încât TCP să recunoască numărul de port în care trebuie trimise datele. Java oferă un set de clase dintre care una este java.net. Acesta este utilizat pentru dezvoltarea rapidă a aplicațiilor de rețea. Clasele cheie, interfețele și excepțiile prezente în pachetul java.net simplifică complexitatea implicată în crearea de programe client și server sunt:

Clasele sunt:

  • Manipulator de conținut
  • Pachet Datagram
  • Priza Datagram
  • Datagram Socket Imp 1
  • Conexiune URL HTTP
  • Am adresa netă
  • Priză multicast
  • Priza serverului
  • Priză
  • Socket Imp 1
  • URL-
  • Conexiune URL
  • Codificator URL
  • Handler Stream URL

Interfețele sunt:

  • Fabrică de manipulare a conținutului
  • Hartă nume fișier
  • Socket Impl Factory
  • Fabrica de gestionare a fluxului URL

Excepțiile sunt:

  • Excepție obligatorie
  • Conectați excepția
  • Excepție URL defectuoasă
  • Nicio rută către excepția gazdelor
  • Excepție de protocol
  • Excepție de priză
  • Excepție de gazdă necunoscută
  • Excepție de serviciu necunoscut.

Programare socket TCP / IP

Există două clase utilizate din pachetul java.net care sunt utilizate la crearea de programe. Sunt:

  • Priza serverului
  • Priză

Un program server comunică prin fluxuri de intrare și ieșire. Dacă există o cerere de conectare, atunci există o nouă priză care intră în joc și iată o conexiune stabilită cu aceasta.

Metoda 1 - Crearea unui program Socket Server

Există mai mulți pași pentru crearea unui program socket de server în Java. Pașii simpli pentru crearea unui program socket de server sunt următorii:

Pasul 1 - Socket Serverul este deschis

General Socket General = Socket server nou (PO)

Aici PO este numărul portului.

Aici numărul de port este atribuit rețelei de server prin care va comunica utilizând fluxuri de intrare / ieșire.

Pasul 2 - Există o solicitare de clienți pentru care trebuie să așteptăm cu răbdare

Socket General = server. Accept()

Aici Serverul. accept () asteapta clientul si numele soclului este Client aici.

Pasul 3 - Streamurile I / O sunt create astfel încât să fie stabilită o conexiune

Fluxul de intrare a datelor este = noul flux de intrare de date (client. Obține flux de intrare ());

Flux de ieșire de date os = nou flux de ieșire de date (client. Obține flux de ieșire de date ());

Fluxul de intrare este și fluxul de ieșire li se atribuie fluxul de intrare Get () și respectiv sunt numiți.

Pasul 4 - Se creează contactul cu Clientul

Primire de la client: String hello = br. Citeste linia();

Trimite-l clientului: br. Scrieți octeți („Cum sunteți \ n”);

Următorul cod comunică cu clientul care primește și trimite unui client solicitările.

Pasul 5 - În sfârșit, priza este făcută la Ieșire

În cele din urmă, funcția de prindere închidere este utilizată pentru a închide și a termina programarea soclului.

Un exemplu simplu de soclu server este prezentat mai jos:

// Un program simplu pentru conectarea serverului.

import java.net.*;
import java.io.*;
public class SimpleMachine (
public static void main(String args()) throws IOException (
// On port 1362 server port is registered
ServerSocket soc = new ServerSocket(1362);
Socket soc1=soc.accept(); // Link is accepted after waiting
// Linked with the socket there should be a connection
OutputStream s1out = soc1.getOutputStream();
DataOutputStream dosH = new DataOutputStream (s1out);
// A string command is sent
dosH.writeUTF("Hello how are you");
// The connection can be closed but the server socket cannot.
dosH.close();
s1out.close();
soc1.close(); )
)

Metoda 2 - Crearea unui program Socket de server simplu

Acum vom vedea un program pentru clienți simpli în Java. Pașii pentru crearea unui program client simplu în Java este prezentat mai jos:

Pasul 1 - Obiectul Socket este realizat

Socket client = nou Socket (server, port_id)

Serverul și ID-ul Port sunt conectate, adică serverul este conectat la ID-ul portului.

Pasul 2 - Sunt create fluxurile de intrare / ieșire

is = new Data Input Stream (client.getInputStream ());

os = new Flux de ieșire de date (client.getOutputStream ());

Streamul de intrare este și fluxul de ieșire este utilizat pentru comunicarea cu clientul.

Pasul 3 - Fluxurile de intrare / ieșire sunt făcute pentru a vorbi cu Clientul

Datele sunt citite de pe server: String hello = br. Citeste linia();

Trimiteți date către server: br.writeBytes („Cum sunteți \ n”)

Acest pas comunică cu serverul. Fluxul de intrare și fluxul de ieșire comunică ambele server.

Pasul 4 - Închideți priza când ați terminat

Această funcție va închide clientul când va fi finalizat.

Un exemplu de program de socket de server simplu este prezentat mai jos

// Un program simplu pentru client

import java.net.*;
import java.io.*;
public class SimpleMachineClient (
public static void main(String args()) throws IOException
(
// At port 1325, connection to the server is opened
Socket s1H = new Socket("host", 1325);
// Read the input stream by getting an input file from the socket
Input Stream s1I = s1. getInputStream();
Data Input Stream disH = new Data Input Stream(s1In);
String str = new String (disH.readUTF());
System.out.println(str);
// After it is done, we can close the connection.
disH.close();
s1I.close();
s1H.close();
)
)

Concluzie - Programare Socket în Java

  • Programarea socket-ului este foarte utilă în Java și în orice alt limbaj de programare, practic, din faptul că un program scris în Java se poate conecta cu un program scris în C sau C ++.
  • Cu alte cuvinte, limbajul programului socket nu contează când trebuie să existe o conexiune între cele două.
  • În acest articol, am văzut practic exemplul Server simplu și Client simplu unde există o conexiune între soclul serverului, iar în celălalt există o conexiune între soclul serverului.
  • Am folosit programare TCP / IP pentru același lucru. Cu toate acestea, există o mulțime de tehnici de programare precum tehnici de programare UDP și programe de programare URL. Nu am văzut exemple în acest articol. Am pus accent pe tehnica de programare TCP / IP.

Articole recomandate

Acesta este un ghid pentru programarea Socket în Java. Aici discutăm Metode Socket Class cu program java. De asemenea, puteți parcurge și alte articole sugerate -

  1. Pachete Java
  2. Copiați constructorul în Java
  3. Sortare sortare în Java
  4. Ghid pentru cele mai bune compilatoare Java
  5. Exemplu pachet Java | Exemplu de lucru și codare