SA-MP Forums Archive
[Ajuda] Socket Connect problema - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Socket Connect problema (/showthread.php?tid=641004)



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!