Introduktion till Socket-programmering i Java

World Wide Web och Internet har förändrat vårt sätt att leva och kommunicera med varandra och hur vi bedriver vetenskap, teknik och handel. Det moderna livet drivs helt runt eller centreras runt Internet. Företag letar kontinuerligt efter nya sätt att producera och kommunicera med olika tjänster på ett nytt sätt som introducerar innovation. I den här artikeln kommer vi att diskutera Socket-programmering i Java.

Sockets ger ett gränssnitt för programmering av nätverk i transportlagret i OSI-modellen. Nätverkskommunikation som använder socklar hittas allmänt på nätet. Utöver detta kan ett socketprogram skrivet i Java kommunicera med ett socketprogram skrivet på icke-Java språk som C, C ++, Python, etc.

Socket Class Methods

Socket Class-metoder finns i Java. Ett uttag är bundet till att vara ett portnummer så att TCP känner igen portnumret där data ska skickas. Java tillhandahåller en uppsättning klasser varav java.net. Detta används för snabb utveckling av nätverksapplikationer. Nyckelklasser, gränssnitt och undantag som finns i java.net-paketet förenklar komplexiteten i att skapa klient- och serverprogram är:

Klasserna är:

  • Innehållshanterare
  • Datagram-paket
  • Datagramuttag
  • Datagram Socket Imp 1
  • HTTP URL-anslutning
  • Jag netto adress
  • Multicast-uttag
  • Serveruttag
  • Uttag
  • Socket Imp 1
  • URL
  • URL-anslutning
  • URL-kodare
  • URL Stream Handler

Gränssnitten är:

  • Content Handler Factory
  • Filnamnkarta
  • Socket Impl Factory
  • URL Stream Handler Factory

Undantagen är:

  • Bind undantag
  • Anslut undantag
  • Felaktigt URL-undantag
  • Ingen väg till värdundantag
  • Protokoll undantag
  • Socket undantag
  • Okänt värdundantag
  • Okänt serviceundantag.

TCP / IP-sockelprogrammering

Det finns två klasser som används från paketet java.net som används för att skapa program. Dom är:

  • Serveruttag
  • Uttag

Ett serverprogram kommunicerar genom in- och utgångsströmmar. Om det finns en begäran om anslutning, finns det ett nytt uttag som kommer in och här är en anslutning upprättad med den.

Metod 1 - Skapa ett Server Socket-program

Det finns olika steg för att skapa ett serverkontaktprogram i Java. De enkla stegen för att skapa ett serverkontaktprogram är följande:

Steg 1 - Socket-servern öppnas

Server Socket General = nytt Server Socket (PO)

Här är PO-portnumret.

Här tilldelas portnumret till servernätverket genom vilket det kommer att kommunicera med hjälp av Input / Output-strömmar.

Steg 2 - Det finns en klientbegäran som vi måste vänta på

Socket General = server. acceptera()

Här servern. acceptera () väntar på klienten och namnet på uttaget är klient här.

Steg 3 - I / O-strömmar skapas så att en anslutning upprättas

Data Input Stream är = ny datainmatningsström (klient. Hämta Input Stream ());

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

Ingångsströmmen är och utströmmen os tilldelas deras Get Input Stream () och de kallas respektive.

Steg 4 - Kontakt med klienten skapas

Ta emot från klienten: String hej = br. Läs rad ();

Skicka det till klienten: br. Skriv byte ("Hur mår du \ n");

Följande kod kommunicerar med klienten som tar emot och skickar förfrågan till en klient.

Steg 5 - Slutligen görs uttaget till utgång

Slutligen används stängningsfunktionen för att stänga och avsluta sockelprogrammeringen.

Ett enkelt exempel på ett serveruttag visas nedan:

// Ett enkelt program för anslutning av servern.

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

Metod 2 - Skapa ett Simple Server Socket-program

Nu ska vi se ett enkelt klientprogram i Java. Stegen för att skapa ett enkelt klientprogram i Java visas nedan:

Steg 1 - Socket Object är gjord

Socket client = new Socket (server, port_id)

Servern och port-ID är anslutna, det vill säga servern är ansluten till port-ID.

Steg 2 - Input / Output Streams skapas

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

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

Input Stream är och Outstream Stream os används för att kommunicera med klienten.

Steg 3 - Input / Output-strömmar görs för att prata med klienten

Data läses från servern: String hej = br. readline- ();

Skicka data till servern: br.writeBytes ("Hur mår du \ n")

Det här steget kommunicerar med servern. Ingångsströmmen och utgångsströmmen kommunicerar båda med servern.

Steg 4 - Stäng uttaget när du är klar

Denna funktion stänger klienten när den äntligen är klar.

Ett exempel på ett enkelt serverkontaktprogram visas nedan

// Ett enkelt program för 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();
)
)

Slutsats - Socket-programmering i Java

  • Socket-programmering är mycket användbar i Java och i alla andra programmeringsspråk i grund och botten av att ett program skrivet i Java kan ansluta till ett program skrivet i C eller C ++.
  • Med andra ord spelar inte socket-programmet någon roll när det måste finnas en koppling mellan de två.
  • I den här artikeln har vi i princip sett Simple Server och Simple Client-exemplet där det finns en anslutning mellan serveruttaget och i det andra finns det en anslutning mellan serveruttaget.
  • Vi har använt TCP / IP-programmering för samma sak. Det finns dock många programmeringstekniker som UDP-programmeringstekniker och URL-programmeringstekniker. Vi har inte sett några exempel på sådant i den här artikeln. Vi har betonat på TCP / IP-programmeringsteknik.

Rekommenderade artiklar

Detta är en guide till Socket-programmering i Java. Här diskuterar vi Socket Class Methods med java-programmet. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Java-paket
  2. Kopiera konstruktör i Java
  3. Slå samman sortering i Java
  4. Guide till bästa Java-kompilatorer
  5. Java-paketexempel | Exempel på arbets- och kodning

Kategori: