Coneix-ho tot sobre la programació de sòcol a Java

La programació de Java Socket s’utilitza per a la comunicació entre les aplicacions que s’executen en diferents JRE. La programació de Java Socket pot ser orientada a la connexió o sense connexió.

Programació de sòcol a s'utilitza per a la comunicació entre les aplicacions que s'executen en diferents . Pot ser orientat a la connexió o sense connexió. En general, un sòcol és una manera d’establir una connexió entre un client i un servidor. En aquest article, us explicaré tot sobre la programació de sòcol.



A continuació, es tracten els temes següents en aquest article:



Què és la programació de sòcol a Java?

Programació de sòcol és una manera de connectar dos nodes en una xarxa per comunicar-se entre ells. Un endoll (node) escolta en un port concret d'una IP, mentre que en un altre endoll contacta amb l’altre per formar una connexió.

Comunicació del servidor client - Programació de sòcol a Java - Edureka



El servidor forma l’oient endoll mentre el client contacta amb el servidor. Socket i Socket de servidor s’utilitzen per a la programació de sockets orientats a la connexió.

Ara entenem el concepte bàsic de la programació de sòcol, és a dir, un sòcol.

Què és un sòcol a Java?

A endoll dins és un punt final d’un enllaç de comunicació bidireccional entre dos programes que s’executen a la xarxa. A endoll està lligat a un número de port de manera que la capa TCP pugui identificar l'aplicació a la qual es destinen les dades.



Un punt final és una combinació d’una adreça IP i un número de port. El paquet de la plataforma Java proporciona una classe,Endollque implementa un costat d'una connexió bidireccional entre el vostre programa Java i un altre programa de la xarxa. La classe es troba a la part superior d’una implementació que depèn de la plataforma, amagant els detalls de qualsevol sistema concret del vostre programa Java. En utilitzar la classe en lloc de confiar en el codi natiu, el vostre fitxer pot comunicar-se a través de la xarxa de manera independent de la plataforma.

Ara que ja ho sabeu, què és Socket a Java, anem més enllà i entenem com es comunica el client amb el servidor i com respon el servidor.

Programació del costat del client

En el cas de la programació del costat del client, primer esperarà que s'iniciï el servidor. Un cop el servidor estigui en funcionament, enviarà les sol·licituds al servidor. Després d'això, el client esperarà la resposta del servidor. Per tant, aquesta és tota la lògica de la comunicació del client i del servidor. Ara comprenem detalladament la programació del costat del client i del servidor.

implementació simple de hashmap a Java

Per iniciar una sol·licitud de client, heu de seguir els passos esmentats a continuació:

1. Establir una connexió

El primer pas és establir una connexió de sòcol. Una connexió de sòcol implica que les dues màquines tenen informació sobre la ubicació de la xarxa (adreça IP) i el port TCP.

Podeu crear un sòcol amb l'ajut d'una declaració següent:

Socket socket = nou socket ('127.0.0.1', 5000)

  • Aquí, el primer argument representa el Adreça IP del servidor .

  • El segon argument representa el Port TCP . (És un número que representa quina aplicació s'ha d'executar en un servidor.)

2. Comunicació

Per comunicar-se mitjançant una connexió de sòcol, s’utilitzen corrents tant per a l’entrada com per a la sortida de dades. Després d’establir una connexió i enviar les sol·licituds, heu de tancar-la.

3. Tancament de la connexió

La connexió de sòcol es tanca explícitament un cop s’envia el missatge al servidor.

Ara veurem com escriure un programa Java per implementar la connexió de sòcol al costat del client.

// Un programa Java per a una importació ClientSide java.net. * Importació java.io. * classe pública ClientProgram {// inicialitzar sockets i fluxos de sortida d’entrada socket privat = nul DataInputStream input = nul privat DataOutputStream out = nul // constructor per posar l'adreça IP i el port públic Client (adreça de cadena, port int) {// establir una connexió proveu {socket = new Socket (adreça, port) System.out.println ('Connected') // pren l'entrada de l'entrada del terminal = new DataInputStream (System.in) // envia la sortida al socket out = new DataOutputStream (socket.getOutputStream ())} catch (UnknownHostException u) {System.out.println (u)} catch (IOException i) {System.out .println (i)} // cadena per llegir el missatge de l'entrada String line = '' // segueix llegint fins que s'introdueix 'Over' mentre (! line.equals ('Over')) {try {line = input.readLine ( ) out.writeUTF (line)} catch (IOException i) {System.out.println (i)}} // tanca la connexió try {input.close () out.close () socket.close ()} catch (IOException jo ) {System.out.println (i)}} public static void main (String args []) {Client client = client nou ('127.0.0.1', 5000)}}

Ara, implementem la programació del servidor i arribem a la sortida.

utilitzant l'espai de noms c ++

Programació lateral del servidor

Bàsicament, el servidor instanciarà el seu objecte i esperarà la sol·licitud del client. Un cop el client envia la sol·licitud, el servidor es comunicarà amb la resposta.

Per codificar l’aplicació del servidor, necessiteu dos sòcols i són els següents:

  • A ServerSocket que espera les sol·licituds del client (quan un client crea un nou socket ())

  • Un pla antic endoll per a la comunicació amb el client.

Després d'això, heu de comunicar-vos amb el client amb la resposta.

Comunicació

getOutputStream () s'utilitza el mètode per enviar la sortida a través del sòcol.

Tanqueu la connexió

És important tancar la connexió tancant el sòcol i els fluxos d’entrada / sortida un cop acabat tot.

Ara veurem com escriure un programa Java per implementar la connexió de sòcol al costat del servidor.

implementació de hashmap a l’exemple de java
// Un programa Java per a un servidor d’importació java.net. * Importació java.io. * classe pública ServerSide {// inicialitzar el socket i el flux d’entrada private Socket socket = nul ServerSocket privat servidor = nul DataInputStream privat = nul // constructor port servidor públic (port int) {// inicia el servidor i espera una connexió proveu {servidor = nou ServerSocket (port) System.out.println ('Servidor iniciat') System.out.println ('Esperant un client .. . ') socket = server.accept () System.out.println (' Client acceptat ') // pren l'entrada del socket del client a = new DataInputStream (new BufferedInputStream (socket.getInputStream ())) String line = '/ / llegeix el missatge del client fins que s'envia 'Over' mentre (! line.equals ('Over')) {try {line = in.readUTF () System.out.println (line)} catch (IOException i) {System. out.println (i)}} System.out.println ('Tancant connexió') // tancar connexió socket.close () in.close ()} catch (IOException i) {System.out.println (i)}} public static void main (String args []) { Servidor servidor = servidor nou (5000)}}

Després de configurar el client i el servidor, podeu executar primer el programa del servidor. Després d'això, heu d'executar el programa del costat del client i enviar la sol·licitud. Tan bon punt s'enviï la sol·licitud des del client, el servidor respondrà de nou. La instantània inferior representa el mateix.

1. Quan executeu l'script del servidor, s'iniciarà i esperarà que el client comenci.

2. A continuació, el client es connectarà i introduirà la sol·licitud en forma de cadena.

3. Quan el client enviï la sol·licitud, el servidor respondrà de nou.

Així és com heu d’executar un programa de socket a Java. També podeu executar aquests programes en una finestra de terminal o en un símbol del sistema. Però, com que Eclipse està molt avançat amb les seves funcions, podeu executar tots dos programes en una consola.

Això ens porta al final de l'article sobre la programació de sòcol a Java. Espero haver donat llum al vostre coneixement Programació de sòcol.

Consulteu el per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. Estem aquí per ajudar-vos en cada pas del vostre viatge, per convertir-vos en una pregunta a part d’aquestes entrevistes java, oferim un pla d’estudis dissenyat per a estudiants i professionals que vulguin ser desenvolupador de Java.

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d'aquest article de 'Socket Programming in Java' i us respondrem el més aviat possible.