Socket Connect problema -
KoloradO - 09.09.2017
Estou preparando um cliente, testei-o no Windows e funcionou perfeitamente.
Mas quando eu mudei para o meu Linux VPS ubuntu, o servidor simplesmente fecha ao usar o socket_connect
Cуdigo:
Код:
public OnPlayerConnect(playerid)
{
new pIP[16];
new string[32];
bac_Socket[playerid] = socket_create(UDP);
GetPlayerIp(playerid, pIP, sizeof(pIP));
IsACConnected[playerid] = false;
IsCheater[playerid] = false;
UpdateNeeded[playerid] = false;
format(string, sizeof(string), "connected |%d| ,%s,", playerid, CURRENT_VERSION); // azeite
socket_connect(bac_Socket[playerid], pIP, 4000);
socket_send(bac_Socket[playerid], string, sizeof(string));
return 1;
}
Resultado:
Log do servidor:
Код:
socket_connect(): Socket ID 0 has failed to connect.
Eu acredito que aconteceu porque a porta 4000 (TCP / UDP) nгo estб liberada no Linux. Se esse for o problema, me diga como liberб-lo.
Re: Socket Connect problema -
RiqueP - 09.09.2017
Cara, ta tudo errado, ja usou sockets antes ?
Sockets й usado para realizar uma conexгo entre o cliente e o servidor para troca de informaзхes. Essa funзгo connect й para vocк se conectar a um servidor que esteja esperando para receber uma conexгo. Nesse cуdigo vocк estб tentando se conectar a maquina do jogador, que por acaso nгo й um servidor.
Quote:
Originally Posted by KoloradO
Estou preparando um cliente, testei-o no Windows e funcionou perfeitamente.
Mas quando eu mudei para o meu Linux VPS ubuntu, o servidor simplesmente fecha ao usar o socket_connect
Cуdigo:
Код:
public OnPlayerConnect(playerid)
{
new pIP[16];
new string[32];
bac_Socket[playerid] = socket_create(UDP);
GetPlayerIp(playerid, pIP, sizeof(pIP));
IsACConnected[playerid] = false;
IsCheater[playerid] = false;
UpdateNeeded[playerid] = false;
format(string, sizeof(string), "connected |%d| ,%s,", playerid, CURRENT_VERSION); // azeite
socket_connect(bac_Socket[playerid], pIP, 4000);
socket_send(bac_Socket[playerid], string, sizeof(string));
return 1;
}
Resultado:
Log do servidor:
Код:
socket_connect(): Socket ID 0 has failed to connect.
Eu acredito que aconteceu porque a porta 4000 (TCP / UDP) nгo estб liberada no Linux. Se esse for o problema, me diga como liberб-lo.
|
Vocк estб utilizando sockets da forma errada, por isso a conexгo estб falhando.
Re: Socket Connect problema -
KoloradO - 10.09.2017
Quote:
Originally Posted by RiqueP
Cara, ta tudo errado, ja usou sockets antes ?
Sockets й usado para realizar uma conexгo entre o cliente e o servidor para troca de informaзхes. Essa funзгo connect й para vocк se conectar a um servidor que esteja esperando para receber uma conexгo. Nesse cуdigo vocк estб tentando se conectar a maquina do jogador, que por acaso nгo й um servidor.
Vocк estб utilizando sockets da forma errada, por isso a conexгo estб falhando.
|
Nunca usei, mas eu imaginei que estive algo errado mesmo. porйm eu testei no windows e funcionou tudo perfeitamente. E eu estou usando justamente pra isso, fazer conexгo com um Cliente.
Pode me dar uma dica de como resolver isso?
Re: Socket Connect problema - Kamper - 10.09.2017
Quote:
Originally Posted by KoloradO
Nunca usei, mas eu imaginei que estive algo errado mesmo. porйm eu testei no windows e funcionou tudo perfeitamente. E eu estou usando justamente pra isso, fazer conexгo com um Cliente.
Pode me dar uma dica de como resolver isso?
|
Nгo dб. Socket se conecta a um servidor e nunca a um client. Vocк nгo deveria utilizar sockets pois claramente nгo sabe o que й.
Re: Socket Connect problema -
RiqueP - 10.09.2017
Quote:
Originally Posted by KoloradO
Nunca usei, mas eu imaginei que estive algo errado mesmo. porйm eu testei no windows e funcionou tudo perfeitamente. E eu estou usando justamente pra isso, fazer conexгo com um Cliente.
Pode me dar uma dica de como resolver isso?
|
Vocк poderia utilizar sockets para se conectar a uma aplicaзгo fora do servidor. Como um software, aplicaзгo web ou mobile.
O que deseja fazer exatamente ?
Re: Socket Connect problema -
KoloradO - 10.09.2017
Eu estou usando o cliente anti-cheater feito por bruxo00
Link:
https://sampforum.blast.hk/showthread.php?tid=604051
ele usa socket
Re: Socket Connect problema -
KoloradO - 12.09.2017

/
Re: Socket Connect problema -
Dayvison_ - 12.09.2017
Pode ser a porta que estб fechada. Vocк deve abrir a porta no firewall ou dependendo do serviзo que vocк contratou terб que pedir a empresa para abrir a porta do firewall
Re: Socket Connect problema -
zSuYaNw - 13.09.2017
Para saber se й firewall, em seu computador, abra o prompt de comando e digite:
Код:
telnet <ip_vps>:4000
Caso caso a tela fica preta significa que a porta estб aberta, caso "tentar" acessar pela porta significa que estб fechada.
Se vocк tiver acesso ao SSH do VPS, podes digitar o seguinte comando (caso for CentOS)
Код:
firewall-cmd --zone=public --add-port=4000/tcp --permanent
firewall-cmd --zone=public --add-port=4000/udp --permanent
firewall-cmd --reload
Ubuntu/Debian/OpenSuse nгo possuem firewall nativamente. Se mesmo assim nada funcionar, faзa oque o Dayvision falou, contate o suporte.
Re: Socket Connect problema -
JhowWatkins - 27.12.2017
estou com a mesma duvida que ele... se alguйm puder ajudar!