Saber o ip do smartphone

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Saber o ip do smartphone

Mensagem por GabrielXavier em Seg 17 Mar 2014, 12:37

Pessoal seguindo com minhas intenções no mercado mobile, estou estudando o online nativo do game maker studio.

Mas bem, cheguei a uma duvida, 

Existe alguma função no game maker studio para saber o endereço de IP do smartphone?

Por exemplo, eu abro o aplicativo e crio um servidor e pego o IP do smartphone e desenho na tela para informar o IP para os clientes se conectarem, uma função que retorna o IP existe?
Se sim qual?
Abraços.!


Última edição por GabrielXavier em Sex 19 Set 2014, 01:05, editado 1 vez(es)

GabrielXavier

Ranking : Nota A
Número de Mensagens : 359
Data de inscrição : 25/02/2012
Notas recebidas : A
Reputação : 15
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 1

Voltar ao Topo Ir em baixo

Re: Saber o ip do smartphone

Mensagem por fredcobain em Seg 17 Mar 2014, 14:50

Não existe função que retorne o ip do dispositivo pelo fato de que a idéia é que o dispositivo seja o client e não o server.

Todavia, se vc for bem teimoso, dá pra fazer algumas gambiarras pra vc descobrir o seu ip via gml.

Vamos à elas:

Método 1: PHP

Arrume um servidor web que suporte php. Crie uma página (arquivo) chamado GetIP.php

Nesse arquivo deve constar apenas o seguinte código php:


Código:
<?php
echo $_SERVER['REMOTE_ADDR']; 
?>


No seu código GML, no evento que vc quiser usar para ver o IP, use o seguinte código GML:


Código:
GET_IP = http_get("http://www.Mywebsite.com/GetIP.php");


E no evento Asynchronous / HTTP use o seguinte código:

Código:
global.IP = ds_map_find_value(async_load, "result");
show_message(global.ip);



Método 2: Criando um server só pra ver seu ip:

No evento CREATE:


Código:
randomize();
var a = irandom_range(49152,65535);
var host = network_create_server(network_socket_udp, a, 5);

if (host<0) {
    show_message('Failed to create a broadcast server');
    game_end();
} else {
    var tsock = network_create_socket(network_socket_udp);
    var tbuff = buffer_create(32, buffer_fixed, 1);
    buffer_fill(tbuff, 0, buffer_bool, 0, 32);
    network_send_broadcast(tsock, a, tbuff, buffer_get_size(tbuff));
    network_destroy(tsock);
    buffer_delete(tbuff);
}


No evento Asynchronous / Networking


Código:
show_message(string(ds_map_find_value(async_load, "ip")));
instance_destroy();



Mas novamente eu insisto: Não faz sentido. Vc só precisa do IP do server (que nunca deve ser um dispositivo móvel).

fredcobain

Ranking : Sem avaliações
Número de Mensagens : 691
Idade : 35
Data de inscrição : 14/04/2011
Reputação : 162
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum