Avisos

Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 29/05/11, 17:54:19
Avatar de cadira3
cadira3 cadira3 no está en línea
Usuario novato en la web
Mensajes: 22
 
Fecha de registro: mar 2011
Mensajes: 22
Modelo de smartphone: htc desire
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Conexión entre dispositivos android

Hola a todos!

Soy un estudiante de tercero de ingeniería en informática.

Estoy haciendo una aplicación para android para la cual necesito Enviar mensajes entre 2 dispositivos android. La cuestión es que estoy un poco perdido.

He trabajado con sockets en java, pero nunca he accedido a un dispositivo (pc o mobil) que esté fuera de mi máquina.

Alguien tiene expeciencia en este tema para guiarme un poco? O una buena guia donde hable de este estilo de conexiones?


Muchas gracias de antemano!
Responder Con Cita


  #2  
Viejo 29/05/11, 18:10:42
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por cadira3 Ver Mensaje
Hola a todos!

Soy un estudiante de tercero de ingeniería en informática.

Estoy haciendo una aplicación para android para la cual necesito Enviar mensajes entre 2 dispositivos android. La cuestión es que estoy un poco perdido.

He trabajado con sockets en java, pero nunca he accedido a un dispositivo (pc o mobil) que esté fuera de mi máquina.

Alguien tiene expeciencia en este tema para guiarme un poco? O una buena guia donde hable de este estilo de conexiones?


Muchas gracias de antemano!
Pues exactamente igual, pero al crear el socket en lugar de que conecte a localhost tienes que hacerlo que conete a la IP (o nombre) de destino. Por supuesto el destino tiene que tener un socket en modo Listen (esto en Java se hace con un ServerSocket)

NOTA: Al ser dispositivos móviles quizás lo más correcto es que funcionasen a través de algún tipo de servidor, al cual conectan los móviles y es el encargado de hacer de intermediario. Lo digo porque en un móvil nunca vas a tener una IP fija.

Última edición por kriogeN Día 29/05/11 a las 18:12:46
Responder Con Cita
  #3  
Viejo 29/05/11, 18:30:12
Avatar de cadira3
cadira3 cadira3 no está en línea
Usuario novato en la web
Mensajes: 22
 
Fecha de registro: mar 2011
Mensajes: 22
Modelo de smartphone: htc desire
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Cuando hablas de utilizar un servidor de intermediario, te refieres a una máquina externa, o a un hilo/ejecución del dispositivo android?

Porque el caso que sea un servidor externo, tendría que tener en ejecución un programa que esté diseñado para realizar la tarea en cuestión (perdona mi ignorancia, pero nunca he trabajado con un servidor externo).


Muchas gracias por tu ayuda!
Responder Con Cita
  #4  
Viejo 29/05/11, 18:40:44
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por cadira3 Ver Mensaje
Cuando hablas de utilizar un servidor de intermediario, te refieres a una máquina externa, o a un hilo/ejecución del dispositivo android?

Porque el caso que sea un servidor externo, tendría que tener en ejecución un programa que esté diseñado para realizar la tarea en cuestión (perdona mi ignorancia, pero nunca he trabajado con un servidor externo).


Muchas gracias por tu ayuda!
Claro, hablo de un servidor externo, si precisamente lo digo por el problema de la IP.

El programa en el servidor (no tiene porque ser un PC, puede ser cualquier cosa con una IP fija y sobre la que se pueda programar sockets) podría funcionar de 2 formas:

A) Tener tantos sockets servidor como móviles se puedan conectar, y los paquetes que recibe por el socket de un móvil los envía por el resto de sockets al resto de móviles.

B) Que el móvil que actuará como servidor se conecte al servidor externo y le diga su IP, los clientes lo que harán será conectarse al servidor externo y preguntar por la IP del móvil android que actua como servidor, al obtenerla se desconectan del servidor externo y se conectan al móvil.
Responder Con Cita
  #5  
Viejo 29/05/11, 19:11:41
Avatar de cadira3
cadira3 cadira3 no está en línea
Usuario novato en la web
Mensajes: 22
 
Fecha de registro: mar 2011
Mensajes: 22
Modelo de smartphone: htc desire
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Ahora estava pensando, si los dos dispositivos están en la misma red (wifi por ejemplo), su IP local puede servir no? Todo dependeria de si hay alguna forma de averiguar que dispositivos están conectados a una misma red.

Conoces alguna forma de averiguar-lo? Es mi idea equivocada?

PD: Reitero mis agradecimientos. Es un lujo poder beneficiar-me de una comunidad como esta, con gente formada y amable
Responder Con Cita
  #6  
Viejo 29/05/11, 21:01:57
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Si lo quieres para trabajar en la misma red te lo ahorras todo, le asignas una IP fija a cada móvil y a correr. No se exactamente para que quieres la aplicación, si te vale así pues adelante, pero siendo dispositivos móviles lo ideal es que la aplicación también sea móvil.
Responder Con Cita
  #7  
Viejo 29/05/11, 22:21:24
Avatar de cadira3
cadira3 cadira3 no está en línea
Usuario novato en la web
Mensajes: 22
 
Fecha de registro: mar 2011
Mensajes: 22
Modelo de smartphone: htc desire
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por kriogeN Ver Mensaje
Si lo quieres para trabajar en la misma red te lo ahorras todo, le asignas una IP fija a cada móvil y a correr. No se exactamente para que quieres la aplicación, si te vale así pues adelante, pero siendo dispositivos móviles lo ideal es que la aplicación también sea móvil.
La idea és que los 2 dispositivos estén en una misma habitación. Uno seria un set-top box y el otro una tablet o telefono.

De esta forma me podría saltar la parte del servidor, y solo tendría que buscar como asignar IP en una NAT.
Responder Con Cita
  #8  
Viejo 31/05/11, 20:04:42
Avatar de cadira3
cadira3 cadira3 no está en línea
Usuario novato en la web
Mensajes: 22
 
Fecha de registro: mar 2011
Mensajes: 22
Modelo de smartphone: htc desire
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Necesito una ayudita! Provando a realizar una conexión simple cliente/servidor, me encuentro con que la aplicación me fuerza el cierre.

Lo raro és que solo me passa cuando hago el Socket socket = serverSocket.accept()...

Si comento esta linea funciona y si la ejecuto me peta. Al ser mi primera aplicación en android puede que sea algo de configuración?


Muchas gracias por la ayuda!
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 14:39:16 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007