19/11/2014 Sockets
en Java (cliente y servidor) | Codigoprogramacion
Blog Java PHP y MySQL Android Javascript Python Ruby Tecnología Acerca de
Jorge V. | April 7, 2011 47 comments
Search
Sockets en Java (cliente y servidor) Patrocinados
Sockets en Java
(el codigo fuente esta mas abajo…)
Los sockets son basicamente formas en las que podemos interconectar 2 (o mas)
programas mediante el uso de la internet. En java se utilizan para poder crear conexiones
utilizando basicamente una IP/hostname y un puerto para establecer la conexión. Para Autores:
aprender podemos utilizarla para conenctar 2 programas por medio de Internet.
Jorge Villalobos:
¿Como funciona?
Uriel Hernandez:
El modelo mas basico de los sockets consta de 2 simples programas, un servidor y un
cliente. Basicamente el programa servidor comienza a “escuchar” en un puerto
Entradas recientes
determinado(nosotros lo especificamos), y posteriormente el programa que la hace de
“cliente” debe conocer la ip o nombre de dominio/hostname del servidor y el puerto que
Reseña del silicon power Armor A80
esta escuchando, al saber esto simplemente solicita establecer una conexión con el
servidor. Es aqui cuando el servidor acepta esa conexión y se puede decir que estos Prueba quicksort vs Recorrido BST
programas estan “conectados”, de este modo pueden intercambiar información. En el Reseña USB 3.0 Silicon Power Marvel M60
siguiente video muestro un programa servidor con sockets, explico mas o menos el
Como hacer un menu horizontal con html5
codigo, en que consiste y hago una prueba en el cual la conexión es exitosa. y css3
Video de Sockets en java Introducción a JSON, sintaxis y ejemplos
¡Anunciate en
[Link]!
Con el fin de continuar este proyecto y
brindar la oportunidad a anunciantes, hemos
decidido ofrecer la posibilidad de anunciarse
con banners en [Link]
Contamos con mas de 3000 impresiones de
páginas al día y mas de 2000 visitantes
únicos diarios. Para mas información
contactar a
webmaster@[Link] con el
asunto "Contacto Anunciante" por correo.
Nuestras redes sociales
Orgullosamente hospedado por
Notas:
*Ambos programas (servidor y cliente) no necesitan estar programados en Java, es
posible programarlos en lenguajes de programación diferentes, o inclusive programar un
servidor en java y utilizar un cliente ya existente que pueda conectarse a un puerto
especificado.
*El cliente debe de conocer tanto el puerto a utilizar como la IP o dominio del servidor,
mientras el servidor solo debe conocer el puerto de conexión
A continuación les dejo este código de un servidor muy simple que yo hice en Java, lo
[Link] 1/12
19/11/2014 Sockets en Java (cliente y servidor) | Codigoprogramacion
que hace es escuchar el puerto 5000, cuando un cliente se conecta este envía un mensaje
de confirmación al cliente, luego el cliente al enviar su primer mensaje, el
servidor envía un segundo mensaje y se cierra la conexión. También el de un cliente muy
muy simple solo para que se vea la diferencia, de como se pide la conexión al servidor,
el cliente únicamente envía un mensaje de texto pero no recibe información.
Codigo fuente del servidor
01 import [Link].*;
02
03 import [Link].*;
04
05 /**
06
07 *
08
09 * @author Jorge V
10
11 */
12
13 public class Conex {
14
15 final int PUERTO=5000;
16
17 ServerSocket sc;
18
19 Socket so;
20
21 DataOutputStream salida;
22
23 String mensajeRecibido;
24
25 //SERVIDOR
26
27 public void initServer()
28
29 {
30
31 BufferedReader entrada;
32
33 try
34
35 {
36
37 sc = new ServerSocket(PUERTO );/* crea socket servidor que escuchara en puert
o 5000*/
38
39 so=new Socket();
40
41 [Link]("Esperando una conexión:");
42
43 so = [Link]();
01 //Inicia el socket, ahora esta esperando una conexión por parte del cliente
02
03 [Link]("Un cliente se ha conectado.");
04
05 //Canales de entrada y salida de datos
06
07 entrada = new BufferedReader(new InputStreamReader([Link]()));
08
09 salida = new DataOutputStream([Link]());
10
11 [Link]("Confirmando conexion al cliente....");
12
13 [Link]("Conexión exitosa...n envia un mensaje :D");
14
15 //Recepcion de mensaje
16
17 mensajeRecibido = [Link]();
18
19 [Link](mensajeRecibido);
20
21 [Link]("Se recibio tu mensaje.n Terminando conexion...");
22
23 [Link]("Gracias por conectarte, adios!");
24
25 [Link]("Cerrando conexión...");
26
27 [Link]();//Aqui se cierra la conexión con el cliente
28
29 }catch(Exception e )
30
31 {
32
33 [Link]("Error: "+[Link]());
34
35 }
[Link] 2/12
19/11/2014 Sockets en Java (cliente y servidor) | Codigoprogramacion
36
37 }
38
39 }
Codigo fuente cliente simple
01 import [Link].*;
02
03 import [Link].*;
04
05 /**
06
07 *
08
09 * @author Jorge V
10
11 */
12
13 public class Conex {
14
15 final String HOST = "localhost";
16
17 final int PUERTO=5000;
18
19 Socket sc;
20
21 DataOutputStream mensaje;
22
23 DataInputStream entrada;
24
25 //Cliente
26
27 public void initClient() /*ejecuta este metodo para correr el cliente */
28
29 {
30
31 try
32
33 {
34
35 sc = new Socket( HOST , PUERTO ); /*conectar a un servidor en localhost con p
uerto 5000*/
36
37 //creamos el flujo de datos por el que se enviara un mensaje
38
39 mensaje = new DataOutputStream([Link]());
40
41 //enviamos el mensaje
42
43 [Link]("hola que tal!!");
44
45 //cerramos la conexión
46
47 [Link]();
48
49 }catch(Exception e )
50
51 {
52
53 [Link]("Error: "+[Link]());
54
55 }
56
57 }
58
59 }
Espero que esta pequeña introducción a los sockets haya sido de ayuda, por favor deja
tus comentarios{jcomments on}.
Acerca del autor: Jorge V.
Mi nombre es Jorge Villalobos, soy Colombiano de
[Link] 3/12
19/11/2014 Sockets en Java (cliente y servidor) | Codigoprogramacion
nacimiento y resido en México desde
2005,actualmente soy el creador de
[Link] Soy ingeniero en
tecnologías de información y comunicaciones y
trabajo de tiempo completo desarrollando
aplicaciones web. En general me considero un tipo
normal, me gusta salir, divertirme, y uno de mis
hobbies es programar y hacer tutoriales para
compartir conocimiento, me gusta la pizza, el ajedrez
y tomar una que otra cerveza los fines de semana.
Espero que este proyecto ayude a ayudar a los
demás.
Twitter del autor:
Category: Java | Tags: sockets en javajava socketscliente socket javaservidor socket java
47 comments
12345
November 12, 2014 at 5:02 pm
pregunta telnet a que se refiere???
Reply
Natalia
November 12, 2014 at 4:48 pm
Buenos días!
pregunta cuando entra a la consola cmd cual es el comando que se tiene que escribir
para que el server sepa que el cliente esta ingresando?
estoy intentando de realizar la conexion clienteservidor y sólo me inicia el servidor y
sale que está esperando conexion del cliente
Reply
actress wallpaper. katrina kaif wallpaper
October 9, 2014 at 4:17 am
These websites have an exclusive collection of most adored heroines.
Red, of course, remains the color of choice for most people, especially
men, but other colors are catching on. It is true that, Madhuri had got a skill from very
beginning, but
the skill had been given a professional touch by Saroj khan and other famous
choreographer of the Hindi film industry.
Reply
tonos romanticos
October 6, 2014 at 11:28 pm
Lo tengo headphonesfor el personal a mi mamá
para laas madres por la noche, además de ella completamrnte disfruté!
Sus headphonesas realmente lindo y el que sugieren en la tarjeta que es va recipiente
interior es muy emocional !!
Y la excelente de las perlas ess ideal!
SIN LUGAR A DUDAS, LA MUSICA NOS AYUDA AL CRECIMIENTO ESPIRITUAL, YA QUE
PONE EN ARMONIA NUESTROS SENTIDOS.
YA SEA EN LA MEDITACION O BIEN EN UNA ATMOSFERA DE [Link] DIOS LOS
BENDIGA PORBRILLANTE [Link] DESDE MONTERREY, MEXICO
Reply
[Link] 4/12
19/11/2014 Sockets en Java (cliente y servidor) | Codigoprogramacion
edwin
October 4, 2014 at 5:18 pm
un favor como hago un contador de visitas de paginas web utilizando sockets en java
(cliente servidor).
Reply
claves minecraft
October 3, 2014 at 7:30 pm
Salvado directamente en marcadores!!, realmente me agrada tu website!
Reply
Joe
September 27, 2014 at 6:57 am
Good one! want some more stories dear!!
Reply
news
September 18, 2014 at 12:08 pm
Some things aare going to be divided between the two of thuree straight declining
ratings forr the theatre produced by Michael Martin as Charles celtic midsummer
festivalks Hawtree blossoming into a colorful and lush.
Reply
Andrés
September 10, 2014 at 6:39 pm
Pueden subir el .jar de cliente y servidor???
Reply
Jose Juan
September 9, 2014 at 5:20 pm
Como puedo hacer la prueba de que funcione ?? , gracias espero puedan ayudarme, ya
tengo las dos clases cliente y servidor en un paquete junto con el main y la creacion de
los objetos y la llamada a los metodos, pero solo me arroja el mensaje de esperando
conexión, soy nuevo en esto de las conexiones
Reply
Miguel Vázquez
September 8, 2014 at 9:23 pm
Gracias por esta aportación, no podía realizar la comunicación entre dos computadoras,
pero gracias a este documento, lo logré, muchas gracias.
El problema que tenía, era que estaba utilizando el puerto 8080, pero lo cambié al
puerto 5000 y funcionó.
Saludos
Reply
[Link] 5/12
19/11/2014 Sockets en Java (cliente y servidor) | Codigoprogramacion
juegos navegador rpg mmorpg
August 23, 2014 at 4:02 am
haa, me resulta una conversacion interesante lo relacionado en este escrito que he
A
encontrado en este web site, lo he revisado y ahora
me motivaria mucho comentar. en esta pagina.
Reply
javier
August 19, 2014 at 2:24 am
hermano como hago para conectar 2 o 3 pc distintas a una misma base de datos en
java?
Reply
trofeos
August 18, 2014 at 5:56 am
Magistral! No he sido capaz captar un internet web tan importante cimo este en
completamente toda la red!
La Mayoria De la referdencia es extremadamente positivo.
Reply
juegos gratis de carros y motos
August 12, 2014 at 1:24 pm
El acabado de esta site es extremadamente bueno.
¿Serias Tan Amable De aconsejarme unos pocos consejos de diseño y estilo?
Debido.
Reply
jose
July 24, 2014 at 4:38 am
dr nesesito programar un software que me permita conectar dos computadoras
conectadas en red y poder chatear atravez, ya que nesesito probrar un dispositivo de
envio de señales y nesesito probarla,soy estudiante de ing mecatronica
Reply
Gilbert
June 24, 2014 at 4:54 pm
Gracias por la información, tengo una pregunta con respecto a un servidor local. Como
hago si quiero tener la aplicación servidor activada en una computadora y la aplicación
cliente en otra si ambas pertenecen a la misma red, e decir, como se conectarían?
Reply
rivera
June 21, 2014 at 2:44 am
hola que tal,veras tengo un proyecto que entregar en donde utilizo los sockets el
proyecto consta en que una ves conectado un cliente a un servidor este pueda
monitorear el estado de la maquina, a esto me refiero con la temperatura de la maquina
,informacion sobre ellla, uso de cpu y otras cuestiones que puedan ser de cierta forma
monitoreadas ,el problemas es que no se que pueda utilizar en java para poder lograr
[Link] 6/12
19/11/2014 Sockets en Java (cliente y servidor) | Codigoprogramacion
esto,te lo agrade seria mucho si me pudieses ayudar.
Reply
VIRY
June 17, 2014 at 1:24 am
HOLA.! OYE SI ME PUEDES AYUDAR CON UN PROGRAMA DE DNS
Reply
Arturo Escobar
June 11, 2014 at 8:36 pm
Hola amigo me podrías ayudar con una guía sobre como poder desarrollar una aplicación
de diseño en 3d muchas gracias espero tu respuesta.
Reply
julio maldonado
May 21, 2014 at 9:51 pm
saludos…. amigo … tu crees que me podrias ayudar con un pequeño desarrollo para
escuchar unos gps a traves de un aplicativo en java … a su vez este que reciba la trama
cruda .. parsee los datos los divida en cabeceras y los almacene en una base de datos
===???….. please si me pudieses ayudar en el proyecto ,,,, saludos
Reply
Liliana
May 9, 2014 at 2:18 am
Hola, soy estudiante de ing. en sistemas computacionales y en mi clase de red, me
sirvio bastante tutorial, si pudieras despues enseñarmos a construir el codigo estaria
muy bien!!! gracias es excelente
Reply
edgar
April 28, 2014 at 2:54 am
necesito ayuda, necesito una aplicacion la cual me muestre el estado de una red y me
muestre la velocidad de transmicion de datos y que me muestre cual puerto del switch
este libre y me muestre cuales puertos estan [Link] espero su ayudaa
Reply
Guillermo
April 28, 2014 at 10:17 pm
Lo que tu necesitas es un switch administrado mi buen
Reply
Jose
April 22, 2014 at 5:30 pm
ңola!
Me ha gustado este articulo. Otгps articulos no mme molaron demasіado, en cualquier
cɑso, еn general est
[Link] 7/12
19/11/2014 Sockets en Java (cliente y servidor) | Codigoprogramacion
Reply
fRANCISCO
March 29, 2014 at 6:42 pm
muy bien…!!! me ayudo mucho
Reply
ivan
March 24, 2014 at 7:15 pm
Hola disculpa mira te comparto mi proyecto, necesito compartir video de un sistema de
monitoreo en tiempo real esto es obiamente a traves de cliente servidor y no he
encontrado la manera porfavor necesito ayuda!
Reply
Theodore
March 19, 2014 at 5:19 am
Hi, the whole thing is going perfectly here and ofcourse every one is sharing
facts, that’s really excellent, keep up writing.
Reply
Anegl
February 24, 2014 at 12:08 am
Hola buena tarde tengo una pregunta no se si esta se la sección para preguntar hay
alguna forma de obtener las características de una computadora Sistema Operativo,
Mem RAM, Disco Duro, no de mi computadora si no de otra conectada en red Gracias.
Reply
Fabian Rodriguez
April 24, 2014 at 8:55 pm
Por medio del protocolo SNMP.
Reply
carlos
February 20, 2014 at 4:02 am
Hola buen dia!
Podrias ayudarme demasiado en explicarme como pudiese comunicar esas aplicaciones
pero por medio de internet, osea que funcionen igual, solo que yo este en una casa y la
otra persona en otra con diferentes modems.
Es posible o no es posible. es que un profesor cuando le preguntamos nos indico que era
imposible (un profesor muy creido) y queremos demostrarle que esta equivocado puedes
ayudarme por favor.
Reply
Anonimo
February 23, 2014 at 8:25 am
Claro que es posible, si para eso son los sockets. Internet por muy grande que
[Link] 8/12
19/11/2014 Sockets en Java (cliente y servidor) | Codigoprogramacion
sea sigue siendo una red.
Solo necesitas la IP “real” con la que sales a Internet en el ordenador que
tengas el servidor. Puedes poner en google ver mi ip… Y luego necesitas
redirigir el puerto que vas a usar del router al ordenador donde tienes el server,
para ello tienes que entrar en la configuración del router y buscar las opciones
de redirigir puertos y listo.
Reply
Oscar Aponte
December 3, 2013 at 9:40 pm
Muchas gracias por el aporte! Es genial compartir
Reply
Christian
September 5, 2013 at 4:51 pm
Hola, oye, veo que el servidor le envia un mensaje al cliente ¿o me equivoco?, como le
haces para que el cliente lo lea, por que no veo una linea donde el cliente imprima lo
que el servidor le envia.
Esta linea es la que le envia el servidor al cliente que se conecta:
[Link](“Conexión exitosa…n envia un mensaje “);
Saludos!
Reply
juan pablo
September 3, 2013 at 4:38 am
esta buenisimo pero como podria hacer, en el caso de android, si es que me puedes dar
una mano…. lo que que necesito es que un usuario que haga de cliente, pueda desde su
movil ver los usuarios que estan haciendo de servidor, y bueno alli elegir a que servidor
conectarse…
Reply
AleMarchena
June 2, 2013 at 2:51 pm
Gracias por tu aporte, sencillo y concreto.
Saludos
Reply
Daniel
June 1, 2013 at 1:14 pm
Hola te reconozco por la foto, tus videos me han sido de mucha ayuda.
Reply
Jason F
May 12, 2013 at 6:45 am
Qué tal?, disculpa Jorge, me ha pedido un aplicativo web que tenga inserción, consulta y
eliminación de multimedia, también que tenga el objeto de una cama ip que tiene user y
password, si me podrías colaborar con esto en un tutorial o algo por el estilo.
[Link] 9/12
19/11/2014 Sockets en Java (cliente y servidor) | Codigoprogramacion
Gracias.
Reply
Roberto
May 9, 2013 at 4:15 am
Disculpa amigo, me han mandado a realizar un proyecto donde el servidor este realizado
en un lenguaje(java,php,etc) y una plataforma(windows,ubuntu,mac) cualquiera; los
clientes tienen que estar hechos en otros lenguajes y diferentes plataformas o sistemas
operativos.
Puede ser el servidor hecho con java y en windows, y un cliente hecho en java con
ubuntu y otro hecho en php con windows.
Nosotros decidimos hacer un proyecto sobre un grifo donde los clientes que lleguen a
consumir se le dea un bonus o puntos, que luego estos clientes los van a canjear en una
tienda de electrodomesticos que esta asociada con el grifo. Como debo de plantear
ayudame porfavor lo mas antes posible
Reply
Sergio Enrique
April 30, 2013 at 5:02 pm
Hola Jorge V. muy bueno tu articulo.
Jorge queria hacerte una preguntica, depronto sepas y me puedas dar algun enfoque.
Yo programo en Java y la espcificacion J2EE para crear aplicaciones WEB.
Es posible enviar información desde el servidor al cliente sin necesidad de una petición
por parte del cliente.
Es decir desde el servidor de aplicaciones (servidor WEB, contenedor WEB), se pueden
originar los mensajes para enviarselos al cliente (navegador WEB).
Los clientes web pueden tener session (session HTTP) en el servidor.
Esto implicaria trabajar con sockets para mantener las conexiones activas? el problema
es que como una aplicacion web es sin estado, como se pistearia al navegador que tiene
session, ademas como haria para mantener el socket en el cliente web es decir el
navegador web. con algun applet?
Por ejemplo si tuviéramos un chat en el que se comunican varias personas a la vez,
una persona enviaría un texto al servidor y el servidor se lo enviaría a los demás
participantes en la conversación sin necesidad de que los clientes estuvieran todo el
tiempo realizando peticiones al servidor.
He leído algo sobre sockets pero no se si se podría hacer lo que expongo arriba.
Reply
reyna
April 16, 2013 at 1:44 am
Hola… tengo mi aplicacion en java de escritorio quiero hacer que funcione en varias
maquinas como tendria que poner el codigo, en mi proyecto agrego la clase de cliente y
la servidor? y que tendria que hacer en la otra maquina para que me funcione?????
Reply
pelotes2
May 16, 2013 at 6:11 pm
Échale una leída al concepto cliente/servidor. Para que funcione en diferentes
máquinas tienes que correr en una máquina el servidor, y en las otras corres el
cliente. Obviamente le cambias la parte que dice localhost, poniendo la ip de
donde está corriendo la clase que realiza la función de servidor. Espero te sirva.
Reply
teresienta
April 9, 2013 at 4:33 pm
[Link] 10/12
19/11/2014 Sockets en Java (cliente y servidor) | Codigoprogramacion
Me gusto esta página muy bien explicado como tu explicación no ahi ninguna otra..
Reply
Jodanovi
April 8, 2013 at 8:03 pm
interesante hasta el momento lo que estuve leyendo, la idea final es armar un servidor
de lectura de datos recibidos por gprs de un gps. Éxitos y seguiré mirando tus
materiales
Reply
Xi
March 15, 2013 at 4:17 pm
Gracias Jorge, muy útil la información.
Incluso das mejor información que los instructores de los cursos de Microsoft,
precisamente ahora estoy en uno y te lo llevas de calle.
Gracias
Reply
Lore
January 24, 2014 at 6:29 am
Keep it coming, wresirt, this is good stuff.
Reply
Sockets en Android | Androideity
March 13, 2013 at 1:19 am
[...] he utilizado los siguiente recursos, recomiendo que les hechen un vistazo que son muy
utiles: [Link]
[Link]
Reply
Leave a Reply
Your email address will not be published. Required fields are marked *
Name *
Email *
Website
Comment
Post Comment
[Link] 11/12
19/11/2014 Sockets en Java (cliente y servidor) | Codigoprogramacion
[Link] 2013 Contacto (solo freelance,anunciantes/publicidad, propuestas o trabajo) Theme by ThemeZee
[Link] 12/12