Introduksjon til Socket-programmering i Java

World Wide Web og Internet har endret måten vi lever og kommuniserer med hverandre på og måten vi driver vitenskap, ingeniørfag og handel på. Det moderne livet blir fullstendig drevet rundt eller sentrert rundt Internett. Bedrifter søker kontinuerlig etter nye måter å produsere og kommunisere med ulike tjenester på en ny måte som introduserer innovasjon. I denne artikkelen vil vi diskutere Socket-programmering i Java.

Sockets gir et grensesnitt for programmering av nettverk i transportlaget til OSI-modellen. Nettverkskommunikasjon som bruker stikkontakter finnes overalt på internett. I tillegg til det, kan et socket-program skrevet i Java kommunisere med et socket-program skrevet på ikke-Java-språk som C, C ++, Python, etc.

Metoder for sokkelklasse

Socket Class-metoder finnes i Java. En socket er bundet til å være et portnummer slik at TCP gjenkjenner portnummeret som dataene skal sendes inn i. Java gir et sett med klasser hvorav den ene er java.net. Dette brukes til rask utvikling av nettverksapplikasjoner. Nøkkelklasser, grensesnitt og unntak som er til stede i java.net-pakken, forenkler kompleksiteten som er involvert i å lage klient- og serverprogrammer er:

Klassene er:

  • Innholdshåndterer
  • Datagram-pakke
  • Datagramkontakt
  • Datagram Socket Imp 1
  • HTTP URL-tilkobling
  • Jeg nettadresse
  • Multicast-kontakt
  • Serverkontakt
  • Stikkontakt
  • Socket Imp 1
  • URL
  • URL-tilkobling
  • URL-kode
  • URL Stream Handler

Grensesnittene er:

  • Innholdshåndteringsfabrikk
  • Filnavn Kart
  • Socket Impl Factory
  • URL Stream Handler Factory

Unntakene er:

  • Bind unntak
  • Koble unntak
  • Mangelfull URL-unntak
  • Ingen vei til unntak av vert
  • Protokoll unntak
  • Unntak fra stikkontakt
  • Ukjent verts unntak
  • Ukjent service unntak.

TCP / IP Socket-programmering

Det er to klasser som brukes fra java.net-pakken som brukes til å lage programmer. De er:

  • Serverkontakt
  • Stikkontakt

Et serverprogram kommuniserer gjennom inngangs- og utgangsstrømmer. Hvis det er en forespørsel om tilkobling, så er det en ny stikkontakt som kommer inn og her er det opprettet en forbindelse med den.

Metode 1 - Opprette et Server Socket-program

Det er forskjellige trinn for å lage et serverkontaktprogram i Java. De enkle trinnene for å lage et serverkontaktprogram er som følger:

Trinn 1 - Socket-serveren åpnes

Server Socket Generelt = nytt Server Socket (PO)

Her er PO portnummeret.

Her blir portnummeret tilordnet servernettverket som det vil kommunisere gjennom inn- / utstrømmer.

Trinn 2 - Det er en klientforespørsel som vi må vente tålmodig for

Socket General = server. aksepterer()

Her serveren. aksepter () venter på klienten og navnet på stikkontakten er klient her.

Trinn 3 - I / O-strømmer opprettes slik at en tilkobling opprettes

Data Input Stream er = ny Data Input Stream (klient. Få Input Stream ());

Data Output Stream os = new Data Output Stream (klient. Get Output Stream ());

Inngangsstrømmen er og utgangsstrømmen os tildeles deres Get Input Stream () og de kalles henholdsvis.

Trinn 4 - Kontakt med klienten opprettes

Motta fra klient: String hei = br. Les linje ();

Send det til klienten: br. Skriv bytes (“Hvordan har du det \ n”);

Følgende kode kommuniserer med klienten som mottar og sender en forespørsel til en klient.

Trinn 5 - Endelig er kontakten gjort for å avslutte

Til slutt brukes close socket-funksjonen for å lukke og avslutte socket-programmeringen.

Et enkelt eksempel på en serverkontakt vises nedenfor:

// Et enkelt program for tilkobling av serveren.

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(); )
)

Metode 2 - Opprette et enkelt serverkontaktprogram

Nå skal vi se et enkelt klientprogram i Java. Trinnene for å lage et enkelt klientprogram i Java vises nedenfor:

Trinn 1 - Socket Object er laget

Socket client = new Socket (server, port_id)

Serveren og port-ID er tilkoblet, det vil si at serveren er koblet til port-ID.

Trinn 2 - Input / Output Streams blir opprettet

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

os = new Data Output Stream (client.getOutputStream ());

Input Stream er og Outstream Stream os brukes til å kommunisere med klienten.

Trinn 3 - Input / Output streams er laget for å snakke med klienten

Data blir lest fra serveren: String hallo = br. readline ();

Send data til serveren: br.writeBytes (“Hvordan har du det \ n”)

Dette trinnet kommuniserer med serveren. Inngangsstrømmen og utgangsstrømmen kommuniserer begge med serveren.

Trinn 4 - Lukk kontakten når du er ferdig

Denne funksjonen vil lukke klienten når den endelig er ferdig.

Et eksempel på et enkelt serverkontaktprogram vises nedenfor

// Et enkelt program for klienten

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();
)
)

Konklusjon - Socket-programmering i Java

  • Socket-programmering er veldig nyttig i Java og på et hvilket som helst annet programmeringsspråk i utgangspunktet av det faktum at et program skrevet i Java kan koble til et program skrevet i C eller C ++.
  • Med andre ord betyr ikke språket i socket-programmet noe når det må være en forbindelse mellom de to.
  • I denne artikkelen har vi i utgangspunktet sett Simple Server og Simple Client-eksemplet der det er en forbindelse mellom serverkontakten og i den andre er det en forbindelse mellom serverkontakten.
  • Vi har brukt TCP / IP-programmering for det samme. Imidlertid er det mange programmeringsteknikker som UDP-programmeringsteknikker og URL-programmeringsteknikker. Vi har ikke sett eksempler på slikt i denne artikkelen. Vi har lagt vekt på TCP / IP-programmeringsteknikk.

Anbefalte artikler

Dette er en guide til Socket-programmering i Java. Her diskuterer vi Socket Class Methods med java-program. Du kan også gå gjennom andre foreslåtte artikler -

  1. Java-pakker
  2. Kopier konstruktør i Java
  3. Slå sammen sortering i Java
  4. Veiledning for beste Java-kompilatorer
  5. Java-pakkeeksempel | Eksempel på arbeids- og koding