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 (//<___base_url___>/profile/26665-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.