sexta-feira, 9 de agosto de 2013

Game Maker: Criando um jogo em rede: Parte 2 - Um Servidor precisa de Clientes

No último post eu mostrei como configurar um servidor. Só que não adianta ter um servidor, se não tem a quem vai se conectar a ele. Por isso, vamos aprender hoje a como configurar um cliente. Então vamos começar.




Um servidor precisa de clientes

O código para criar um cliente é o seguinte:

//Criação do Socket
var tipoDeSocket = network_socket_tcp;
var socket =  network_create_socket(tipoDeSocket);

//Conectando
var porta = 6510;
conectado = network_connect(socket, porta);
while(conectado<0 && porta<65535){
  porta++;
  conectado network_connect(socket, porta);
}

//Finalização
if(conectado<0){
  //Procedimento para quando não for possível criar o servidor
}

Diferente do servidor, aqui nós precisamos configurar manualmente o socket do nosso jogo, para isso usamos a função network_create_socket e especificamos o tipo de socket que vamos utilizar. Neste caso é o mesmo parâmetro do que vimos no servidor, que pode ser uma conexão TCP (network_socket_tcp) ou uma conexão UDP (network_socket_udp) e futuramente uma conexão Bluetooth (network_socket_bluetooth).

Então, depois de ter criado o socket, vamos tentar estabelecer uma conexão com a função  network_connect, que contém dois parâmetros: o socket que vamos usar e a porta a qual a conexão utilizará. Aqui segue a mesma regra do network_create_server: ele retorna um número a partir de 0 caso o servidor foi ativado com sucesso e um número negativo para caso falhe. Então usamos a mesma tática de tentar uma conexão em diversas portas até conseguir fazer ou acabar as portas. 

E por fim, é finalizar com um feedback da situação.

Nenhum comentário:

Postar um comentário