Introduzione alla programmazione socket in Java

Il World Wide Web e Internet hanno cambiato il modo in cui viviamo e comunichiamo tra loro e il modo in cui conduciamo scienza, ingegneria e commercio. La vita moderna è completamente guidata o centrata su Internet. Le aziende sono continuamente alla ricerca di nuovi modi per produrre e comunicare con vari servizi in una nuova maniera introducendo innovazione. In questo articolo, discuteremo della programmazione socket in Java.

I socket forniscono un'interfaccia per la programmazione di reti del livello di trasporto del modello OSI. Le comunicazioni di rete tramite socket si trovano ovunque su Internet. Inoltre, un programma socket scritto in Java può comunicare con un programma socket scritto in linguaggio non Java come C, C ++, Python, ecc.

Metodi di classe socket

I metodi Socket Class si trovano in Java. Un socket deve essere un numero di porta in modo che il TCP riconosca il numero di porta in cui devono essere inviati i dati. Java fornisce un insieme di classi, una delle quali è java.net. Viene utilizzato per lo sviluppo rapido di applicazioni di rete. Le classi chiave, le interfacce e le eccezioni presenti nel pacchetto java.net semplificano la complessità della creazione di programmi client e server sono:

Le classi sono:

  • Gestore dei contenuti
  • Pacchetto datagramma
  • Zoccolo datagramma
  • Datagram Socket Imp 1
  • Connessione URL HTTP
  • I indirizzo netto
  • Presa multicast
  • Server Socket
  • presa di corrente
  • Socket Imp 1
  • URL
  • Connessione URL
  • Encoder URL
  • Gestore flusso URL

Le interfacce sono:

  • Fabbrica del gestore dei contenuti
  • Mappa nome file
  • Socket Impl Factory
  • URL Handler Stream Factory

Le eccezioni sono:

  • Eccezione vincolante
  • Connetti eccezione
  • Eccezione URL non valida
  • Nessuna route per l'eccezione host
  • Eccezione del protocollo
  • Eccezione socket
  • Eccezione host sconosciuta
  • Eccezione di servizio sconosciuta.

Programmazione socket TCP / IP

Esistono due classi utilizzate dal pacchetto java.net che vengono utilizzate nella creazione di programmi. Loro sono:

  • Server Socket
  • presa di corrente

Un programma server comunica attraverso flussi di input e output. Se esiste una richiesta di connessione, allora entra in gioco un nuovo socket ed ecco una connessione stabilita con esso.

Metodo 1 - Creazione di un programma socket server

Esistono vari passaggi per la creazione di un programma socket server in Java. I semplici passaggi per la creazione di un programma socket server sono i seguenti:

Passaggio 1: il server socket è aperto

Server Socket Generale = nuovo Server Socket (PO)

Qui PO è il numero di porta.

Qui il numero di porta viene assegnato alla rete del server attraverso la quale comunicherà utilizzando i flussi di input / output.

Passaggio 2: esiste una richiesta del cliente per la quale dobbiamo attendere pazientemente

Socket Generale = server. accettare()

Qui il server. accept () attende il client e il nome del socket è Client qui.

Passaggio 3: i flussi di I / O vengono creati in modo da stabilire una connessione

Il flusso di input dei dati è = nuovo flusso di input dei dati (client. Get Input Stream ());

Stream di output dei dati os = nuovo Stream di output dei dati (client. Get Output Stream ());

Il flusso di input è e ai sistemi operativi di flusso di output viene assegnato il loro Get Input Stream () e vengono chiamati rispettivamente.

Passaggio 4: viene creato il contatto con il cliente

Ricevi dal client: String hello = br. Linea di lettura();

Invialo al cliente: br. Scrivi byte ("Come stai \ n");

Il codice seguente comunica con il client che riceve e invia a un client le richieste.

Passaggio 5: Infine, il socket viene fatto uscire

Infine, la funzione di chiusura socket viene utilizzata per chiudere e terminare la programmazione dei socket.

Di seguito è riportato un semplice esempio di un socket del server:

// Un semplice programma per connettere il server.

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

Metodo 2 - Creazione di un programma socket server semplice

Ora vedremo un programma client semplice in Java. I passaggi per la creazione di un semplice programma client in Java sono mostrati di seguito:

Passaggio 1: viene creato l'oggetto socket

Socket client = new Socket (server, port_id)

Il server e l'ID porta sono collegati, ovvero il server è collegato all'ID porta.

Passaggio 2: vengono creati flussi di input / output

is = new Stream di input dati (client.getInputStream ());

os = nuovo flusso di output dati (client.getOutputStream ());

Input Stream è e il flusso di output os viene utilizzato per comunicare con il client.

Passaggio 3: i flussi di input / output vengono creati per comunicare con il client

I dati vengono letti dal server: String hello = br. linea di lettura();

Invia dati al server: br.writeBytes ("Come stai \ n")

Questo passaggio comunica con il server. Il flusso di input e il flusso di output comunicano entrambi con il server.

Passaggio 4: chiudere il socket al termine

Questa funzione chiuderà il client al termine.

Di seguito è riportato un esempio di un semplice programma socket server

// Un semplice programma per il 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();
)
)

Conclusione - Programmazione socket in Java

  • La programmazione dei socket è molto utile in Java e in qualsiasi altro linguaggio di programmazione fondamentalmente del fatto che un programma scritto in Java può connettersi con un programma scritto in C o C ++.
  • In altre parole, la lingua del programma socket non ha importanza quando deve esserci una connessione tra i due.
  • In questo articolo, abbiamo sostanzialmente visto l'esempio di Simple Server e Simple Client in cui esiste una connessione tra il socket del server e nell'altro c'è una connessione tra il socket del server.
  • Abbiamo usato la programmazione TCP / IP per lo stesso. Tuttavia, ci sono molte tecniche di programmazione come le tecniche di programmazione UDP e le tecniche di programmazione URL. Non abbiamo visto esempi di questo in questo articolo. Abbiamo sottolineato la tecnica di programmazione TCP / IP.

Articoli consigliati

Questa è una guida alla programmazione dei socket in Java. Qui discutiamo i metodi della classe Socket con il programma Java. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Pacchetti Java
  2. Costruttore di copie in Java
  3. Unisci ordinamento in Java
  4. Guida ai migliori compilatori Java
  5. Esempio di pacchetto Java | Esempio di funzionamento e codifica

Categoria: