Attention | Topic was automatically imported from the old Question2Answer platform. | |
Asked By | eduo.abreu |
Hey guys, i’m having trouble connecting godot to an external server written in c# in a visual studio solution, I’m using the PacketPeerUDP, but the thing is, it tells me that the server is online when the server is not online, how can I connect the godot client to the server and receive data from it like an array?
This is my code:
extends Node
var IP_SERVER = "127.0.0.1"
var PORT_SERVER = 11000
var PORT_CLIENT = 5500
var socketUDP = PacketPeerUDP.new()
func _ready():
start_client()
func _process(delta):
if socketUDP.is_listening():
socketUDP.set_dest_address(IP_SERVER, PORT_SERVER)
var stg = "oi servidor!"
var pac = stg.to_ascii()
socketUDP.put_packet(pac)
if socketUDP.get_available_packet_count() > 0:
var array_bytes = socketUDP.get_packet()
print("Server Msg: " + array_bytes.get_string_from_ascii())
func start_client():
if (socketUDP.listen(PORT_CLIENT, IP_SERVER) != OK):
print("Erro ao escutar na porta: " + str(PORT_CLIENT) + " no servidor: " + IP_SERVER)
$Label.set_text("O SERVER ESTÁ: INDISPONIVEL")
else:
print("Ouvindo na porta: " + str(PORT_CLIENT) + " no servidor: " + IP_SERVER)
$Label.set_text("O SERVER ESTÁ: DISPONÍVEL")
func _exit_tree():
socketUDP.close()
Sorry if this is simple, i’m a beginner in gdscript! Thanks in advance!
Ps. English is not my main language, sorry if I butchered something.
Edit:
The Server part in the c# solution:
int start = 0;
int startLeft = 0;
private const int listenPort = 5500;
#endregion
#region Constructor
public MainWindow()
{
//udp
UdpClient listener = new UdpClient(listenPort);
IPEndPoint groupEP = new IPEndPoint(IPAddress.Parse("127.0.0.1"), listenPort);
byte[] response = Encoding.ASCII.GetBytes("Message from Server");
listener.Send(response, response.Length, groupEP);
send_to_address = IPAddress.Parse("127.0.0.1");
sending_end_point = new IPEndPoint(send_to_address, 11000);
ola amigo, então, viu sua situação, eu iria te sugerir uma coisa, escreva seu server no nodejs com dgram(UDP), é bem mais simples de fazer do que dessa forma que você fez…
ja no seu jogo… não sei como que funciona essa variavel PORT_CLIENT, mas no server(DGRAM) tem como tu pegar a porta e ip do cliente que se conectou ao server…
qualquer coisa me chama no whatsapp +351 911 143 162, em que eu poder ajudar, estamos aqui! falow
João Ribeiro | 2020-03-17 23:10