Bevezetés a socket programozáshoz a Java-ban

A világháló és az Internet megváltoztatta az életmódot és az egymással való kommunikációt, valamint a tudomány, a mérnöki és a kereskedelem irányítását. A modern élet teljesen az Internet körül mozog, vagy annak központja. A vállalkozások folyamatosan új módszereket keresnek a különféle szolgáltatások előállításához és azokkal való kommunikációhoz új módon, az innováció bevezetésével. Ebben a cikkben a Socket Programming Java programot tárgyaljuk.

A foglalatok interfészt biztosítanak az OSI modell transzportrétegének programozására. A hálózati kommunikáció a foglalatok segítségével mindenütt megtalálható az interneten. Ezen felül a Java-ban írt socket program képes kommunikálni egy nem Java nyelven írt socket programmal, például C, C ++, Python stb.

Aljzatosztály-módszerek

A Socket Class módszereket a Java tartalmazza. A foglalatnak portszámnak kell lennie, így a TCP felismeri azt a portszámot, amelyben az adatokat el kell küldeni. A Java osztályokat biztosít, amelyek közül az egyik a java.net. Ezt a hálózati alkalmazások gyors fejlesztésére használják. A java.net csomagban található kulcsosztályok, interfészek és kivételek egyszerűsítik az ügyfél- és szerverprogramok létrehozásának összetettségét:

Az osztályok:

  • Tartalomkezelő
  • Datagram csomag
  • Datagram Socket
  • Datagram Socket Imp 1
  • HTTP URL kapcsolat
  • Nettó címet
  • Multicast aljzat
  • Szerver aljzat
  • Foglalat
  • Socket Imp 1
  • URL
  • URL kapcsolat
  • URL kódoló
  • URL-adatfolyam-kezelő

Az interfészek:

  • Tartalomkezelő gyár
  • Fájlnév-térkép
  • Socket Impl gyár
  • URL-folyam-kezelő gyár

Kivételek:

  • Kötelező kivétel
  • Csatlakozás kivétel
  • Rosszul formázott URL kivétel
  • Nincs útvonal a fogadó kivételhez
  • Protokoll kivétel
  • Aljzat kivétel
  • Ismeretlen host kivétel
  • Ismeretlen szolgáltatási kivétel.

TCP / IP Socket programozás

A java.net csomagból két osztály található, amelyeket a programok készítéséhez használnak. Ők:

  • Szerver aljzat
  • Foglalat

A kiszolgáló program bemeneti és kimeneti folyamokon keresztül kommunikál. Ha csatlakozási kérés van, akkor van egy új aljzat, amely játékba kerül, és itt létrejön a kapcsolat.

1. módszer - Szerver socket program létrehozása

A Java kiszolgálóalkalmazás-program létrehozásának különféle lépései vannak. A szerver socket program létrehozásának egyszerű lépései a következők:

1. lépés - Megnyílik a Socket Server

Szerver-aljzat Általános = új szerver-aljzat (PO)

Itt a PO a port száma.

Itt a portszámot a kiszolgálóhálózathoz rendelik, amelyen keresztül a bemeneti / kimeneti adatfolyamok segítségével kommunikál.

2. lépés - Van egy ügyfél igény, amelyet türelmesen várnunk kell

Socket General = szerver. elfogad()

Itt a szerver. accept () vár az ügyféllel, és a socket neve itt Client.

3. lépés - I / O áramok jönnek létre, hogy kapcsolat létrejöjjön

Az adatbeviteli adatfolyam = új adatbeviteli adatfolyam (kliens. Beviteli adatfolyam letöltése ());

Adatkimeneti adatfolyam os = új adatkimeneti adatfolyam (kliens. Get Output Stream ());

A bemeneti adatfolyamnak és a kimeneti adatfolyamnak hozzá van rendelve a Get Input Stream () értékükhöz, és ezeket nevezzük.

4. lépés - Létrejön a kapcsolat az ügyféllel

Fogadás az ügyféltől: String hello = br. Olvass sor ();

Küldje el az ügyfélnek: br. Írjon bájtot („Hogy vagy \ n”);

A következő kód kommunikál az ügyféllel, amely fogadja és elküldi az ügyfélnek a kéréseket.

5. lépés - Végül az aljzat készen áll a kilépésre

Végül, a socket bezárás funkció a socket programozásának bezárására és befejezésére szolgál.

Az alábbiakban bemutatjuk a szerveraljzat egyszerű példáját:

// Egyszerű program a szerver csatlakoztatására.

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

2. módszer - Egyszerű szerver socket program létrehozása

Most egy egyszerű kliens programot fogunk látni a Java-ban. Az egyszerű ügyfélprogram Java-ban történő létrehozásának lépéseit az alábbiakban mutatjuk be:

1. lépés - Az aljzatobjektum elkészült

Socket kliens = új Socket (szerver, port_id)

A kiszolgáló és a Port ID csatlakoztatva van, vagyis a kiszolgáló csatlakozik a Port ID-hez.

2. lépés - A bemeneti / kimeneti patakok jönnek létre

= új adatbeviteli adatfolyam (client.getInputStream ());

os = új adatkimeneti adatfolyam (client.getOutputStream ());

A bemeneti adatfolyam és a kimeneti adatfolyam az ügyféllel való kommunikációra szolgál.

3. lépés - Bemeneti / kimeneti adatfolyamok készülnek az Ügyféllel való beszélgetéshez

Az adatokat a szerverről olvassa le: String hello = br. readline ();

Adatok küldése a kiszolgálóra: br.writeBytes („Hogy vagy \ n”)

Ez a lépés kommunikál a szerverrel. A bemeneti és a kimeneti adatfolyam egyaránt kommunikál a szerverrel.

4. lépés - Ha kész, zárja be az aljzatot

Ez a funkció bezárja az ügyfelet, amikor végre megtörténik.

Az alábbiakban bemutatjuk az egyszerű szerver socket program példáját

// Egy egyszerű program az ügyfél számára

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

Következtetés - Socket programozás Java-ban

  • A socket-programozás nagyon hasznos a Java-ban és bármely más programozási nyelvben, alapvetõen az a tény, hogy a Java-ban írt program kapcsolódhat a C vagy C ++ nyelven írt programhoz.
  • Más szavakkal, a socket program nyelve nem számít, mikor kell kapcsolódni a kettő között.
  • Ebben a cikkben alapvetően láttuk az Egyszerű kiszolgáló és az Egyszerű kliens példát, ahol kapcsolat van a kiszolgálóaljzat között, a másikban pedig kapcsolat van a kiszolgálóaljzat között.
  • Ugyanezt használtuk a TCP / IP programozásra is. Vannak azonban sok programozási technika, mint például az UDP programozási technikák és az URL programozási technikák. Ilyen példákat nem látunk ebben a cikkben. Hangsúlyoztunk a TCP / IP programozási technikára.

Ajánlott cikkek

Ez egy útmutató a Socket Programming Java programhoz. Itt a Socket Class Methods-ot tárgyaljuk a java programmal. Megnézheti más javasolt cikkeinket -

  1. Java csomagok
  2. Másoló kivitelező Java-ban
  3. Merge Sort of Java
  4. Útmutató a legjobb Java-fordítókhoz
  5. Java csomag példa | Munka- és kódolási példa

Kategória: