Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Conectar con una dirección web / servidor. Para un Chat.

Iniciado por MatiasMartin, Octubre 16, 2015, 07:08:39 PM

Tema anterior - Siguiente tema
Hola. Estoy haciendo un chat, el cual pretendo se conecte entre mi PC y un dispositivo Android. La cosa es que ya logre, mediante un script que encontré, que funcione dentro de mi red, o con los dispositivos que están en el mismo WI-FI.- Pero la idea es que se conecten a un servidor y así se pueda acceder desde internet y de cualquier lado. 

Esta es la función que se conecta a mi host local. ¿Alguien puede guiarme desde acá como conectar a una dirección en particular? Lo que pretendo es que hacer de mi maquina un servidor, que este online, y que ahí se conecte el celular aún cuando este fuera de la misma red. 
void OnServerInitialized()
{
   
   string hostName = System.Net.Dns.GetHostName();
   IPAddress [] listaIPs = System.Net.Dns.GetHostEntry(hostName).AddressList;
   miIP = listaIPs[0].ToString();
   
   Debug.Log("Servidor On-line, tu IP: " + listaIPs[0]);
   chat = chat + "\r\n Conectado como servidor. Esperando usuarios";
}
Desde ya muchas gracias. Cualquier ayuda sera bienvenida. 

Respondo yo mismo... el tema seria sustituir la linea:
 
string hostName = System.Net.Dns.GetHostName();
por algo así:

 
string hostName = "154.215.2.154";
De esta manera en vez de ir al host local, iría a la dirección IP que pongamos. 

Hago ya que estoy otra pregunta ¿Como abrir puertos desde una linea del script?

no puedes, por lo menos con programacion a nivel de usuario ... los puertos es un aspecto de hardware, deberias jugar con interrupciones y demas comecocos (no al videojuego, sino en el mas amplio sentido de la palabra). lo mas normal es abrir los puertos manualmente y que tu aplicacion siempre utilice ese puerto; no me viene a la memoria ninguna aplicacion de usuario que habra puertos automaticamente (creo que esto solo lo hacen las aplicaciones pertenecen a temas de "auditoria" de redes), entre otras cosas porque seria un fallo de seguridad brutal

Abrirlos o permitirlos como dice @Arthure no puedes automáticamente. Ahora yo creo que te refieres a leer de un puerto determinado previamente abierto. Si es asì, empápate de todo el tema de sockets y como acceder a ellos desde C#.

Para abrir puertos los más fácil y sencillo es que accedas a tu router, puedes acceder mediante el navegador usando tu puerta de enlace (192.168.0.x o parecida) una vez dentro del router busca la opción, estará en opciones avanzadas o algo del estilo, cada router tiene su SO... pero es bastante simple

Gracias a todos. juanma, es así como lo hago ahora. El tema es que estoy programando una aplicación y la idea es que los clientes que la adquieran no tuvieran ese tipo de problemas, pero bueno, supongo que de venderla tendrá que ir acompañada de un manual o requerir el técnico pertinente. Supuse que no se podía pero no perdía nada con preguntar. 
 

Etiquetas: