Introduktion til Socket-programmering i Java

World Wide Web og Internet har ændret måden, vi lever og kommunikerer med hinanden på, og hvordan vi udfører videnskab, teknik og handel. Det moderne liv drives helt rundt eller centreres omkring Internettet. Virksomheder søger løbende nye måder at producere og kommunikere med forskellige tjenester på en ny måde, der introducerer innovation. I denne artikel vil vi diskutere Socket-programmering i Java.

Sockets giver en grænseflade til programmering af netværk i transportlaget i OSI-modellen. Netværkskommunikation, der bruger stikkontakter, findes overalt på Internettet. Derudover kan et socket-program skrevet i Java kommunikere med et socket-program skrevet på ikke-Java-sprog som C, C ++, Python osv.

Socket Class Methods

Socket Class-metoder findes i Java. En socket er bundet til at være et portnummer, så TCP genkender det portnummer, som dataene skal sendes i. Java leverer et sæt klasser, hvoraf den ene er java.net. Dette bruges til hurtig udvikling af netværksapplikationer. Nøgleklasser, grænseflader og undtagelser, der findes i java.net-pakken, forenkler kompleksiteten involveret i oprettelse af klient- og serverprogrammer er:

Klasserne er:

  • Indholdshåndterer
  • Datagram-pakke
  • Datagramstik
  • Datagram Socket Imp 1
  • HTTP URL-forbindelse
  • Jeg netto adresse
  • Multicast-stik
  • Serverstik
  • Fatning
  • Socket Imp 1
  • URL
  • URL-forbindelse
  • URL-kode
  • URL-strømhåndterer

Grænsefladerne er:

  • Content Handler Factory
  • Filnavn Kort
  • Socket Impl Factory
  • URL Stream Handler Factory

Undtagelserne er:

  • Bind undtagelse
  • Tilslut undtagelse
  • Fejlagtig URL-undtagelse
  • Ingen rute til værtundtagelse
  • Protokol undtagelse
  • Socket undtagelse
  • Ukendt værtundtagelse
  • Ukendt serviceundtagelse.

TCP / IP Socket-programmering

Der er to klasser, der bruges fra java.net-pakken, som bruges til oprettelse af programmer. De er:

  • Serverstik
  • Fatning

Et serverprogram kommunikerer gennem input og output streams. Hvis der er en anmodning om forbindelse, er der en ny stikkontakt, der kommer i spil, og her er der oprettet en forbindelse med den.

Metode 1 - Oprettelse af et Server Socket-program

Der er forskellige trin til at oprette et serversokkelprogram i Java. De enkle trin til at oprette et serversokkelprogram er som følger:

Trin 1 - Socket-serveren åbnes

Server Socket Generelt = nyt Server Socket (PO)

Her er PO portnummeret.

Her tildeles portnummeret til det netværk, som det kommunikerer igennem ved hjælp af input / output-streams.

Trin 2 - Der er en klientanmodning, som vi skal vente tålmodig til

Socket General = server. acceptere()

Her serveren. acceptere () venter på klienten, og navnet på stikket er klient her.

Trin 3 - I / O-streams oprettes, så der oprettes en forbindelse

Data Input Stream er = ny Data Input Stream (klient. Hent Input Stream ());

Data Output Stream os = ny Data Output Stream (klient. Få Output Stream ());

Indgangsstrømmen er, og outputstrømmen os tildeles deres Get Input Stream (), og de kaldes henholdsvis.

Trin 4 - Kontakt med klienten oprettes

Modtag fra klient: String hej = br. Læs linje ();

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

Følgende kode kommunikerer med klienten, der modtager og sender en klient anmodningerne.

Trin 5 - Endelig gøres stikket til at afslutte

Endelig bruges close socket-funktionen til at lukke og afslutte socket-programmeringen.

Et simpelt eksempel på en serversokkel vises nedenfor:

// Et simpelt program til tilslutning af 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 - Oprettelse af et Simple Server Socket-program

Nu ser vi et Simple Client-program i Java. Trinene til oprettelse af et simpelt klientprogram i Java vises nedenfor:

Trin 1 - Socket-objekt oprettes

Socket client = ny Socket (server, port_id)

Serveren og port-id'et er tilsluttet, det vil sige, serveren er forbundet til port-id'et.

Trin 2 - Input / Output-streams oprettes

er = ny Data Input Stream (client.getInputStream ());

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

Input Stream er, og Output Stream os bruges til at kommunikere med klienten.

Trin 3 - Input / Output streams er lavet til at tale med klienten

Data læses fra serveren: String hej = br. readline ();

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

Dette trin kommunikerer med serveren. Inputstrømmen og outputstrømmen kommunikerer begge med serveren.

Trin 4 - Luk stikket, når du er færdig

Denne funktion lukker klienten, når den endelig er færdig.

Et eksempel på et simpelt serversokkelprogram vises nedenfor

// Et simpelt program til 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();
)
)

Konklusion - Socket-programmering i Java

  • Socket-programmering er meget nyttigt i Java og i ethvert andet programmeringssprog grundlæggende af det faktum, at et program skrevet i Java kan oprette forbindelse til et program skrevet i C eller C ++.
  • Med andre ord betyder sproget i socket-programmet ikke noget, hvornår der skal være en forbindelse mellem de to.
  • I denne artikel har vi dybest set set Simple Server og Simple Client-eksemplet, hvor der er en forbindelse mellem serverkontakten, og i den anden er der en forbindelse mellem serverkontakten.
  • Vi har brugt TCP / IP-programmering til det samme. Der er dog en masse programmeringsteknikker som UDP-programmeringsteknikker og URL-programmeringsteknikker. Vi har ikke set eksempler på sådan i denne artikel. Vi har lagt vægt på TCP / IP-programmeringsteknik.

Anbefalede artikler

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

  1. Java-pakker
  2. Kopier konstruktør i Java
  3. Flet sortering i Java
  4. Vejledning til bedste Java-kompilatorer
  5. Java-pakkeeksempel | Eksempel på arbejde og kodning

Kategori: