Existe diversos tutoriais pela Internet, mas mesmo assim me debati muito por causa da pouca informação para erros ou até mesmo códigos errados. No caso, hoje vamos ver a primeira parte que é como configurar um servidor. Então vamos começar.
Um jogo em rede precisa de um servidor
O código para criar um servidor é o seguinte:
var tipoDeSocket = network_socket_tcp;
var porta = 6510;
var qtdConexao = 2;
servidor = network_create_server(tipoDeSocket, porta, qtdConexao);
while(servidor<0 && porta<65535){
porta++;
servidor=network_create_server(tipoDeSocket, porta, qtdConexao);}
if(servidor<0){
//Procedimento para quando não for possível criar o servidor
}
Vamos explicar o código. A função em foco aqui é a função network_create_server, que contém três parâmetros:
- Tipo de Conexão: Atualmente possui dois tipos de conexão: uma conexão TCP (network_socket_tcp) e UDP (network_socket_udp). Ainda não está previsto para ficar pronto, mas já está documentado a conexão por Bluthooth (network_socket_bluetooth);
- Porta: configura qual é a porta que deseja fazer a conexão;
- Quantidade de Conexão: Quantas conexões este servidor terá suporte. Sempre lembrar que quantos mais conexões, mais parrudo deve ser o hardware do servidor;
Então precisamos verificar se o servidor foi de fato ativado e caso não foi, tente novamente com uma outra porta. O segredo está no retorno da função network_create_server, que retorna um número a partir de 0 caso o servidor foi ativado com sucesso e um número negativo para caso falhe. Portanto, essa estrutura de repetição do código verificará se a ativação do servidor falhou e se ainda tem portas disponíveis para tentar uma conexão. Se ambos forem verdadeiros, então uma nova tentativa em uma outra porta é feita. Isso repetirá até que o servidor seja ativado ou esgota-se as portas disponíveis.
Uma vez que saiu das tentativas de ativar o servidor, então verifica-se se de fato o servidor foi ou não ativado e dando o feedback necessário para o usuário.
Nenhum comentário:
Postar um comentário