I want to make a multiplayer board game, I have a python server and the godot client, and somewhy the python server doesn't notice the client trying to connect.
They python script never prints the "added connection..." and the client side never enters the connectionestablished signal and after a while it is closing with wasclean being false.
I tried changing the ip I connect to and it works
Client side:
var _client = WebSocketClient.new()
export var websocket_url = "127.0.0.1"
func _ready():
_client.connect("connection_closed", self, "_closed")
_client.connect("connection_error", self, "_closed")
_client.connect("connection_established", self, "_connected")
_client.connect("data_received", self, "_on_data")
if _client.connect_to_url(websocket_url) != OK:
print("Unable to connect")
set_process(false)
print('connecting')
func _closed(was_clean = false):
print("Closed, clean: ", was_clean)
set_process(false)
func _connected(proto = ""):
main_board = preload("res://Prefabs/Board.tscn").instance()
main_board.name = 'Board'
add_child(main_board)
main_board.scale = BOARD_SCALE
main_board.generate_from_string("")
enemy_board = preload("res://Prefabs/Board.tscn").instance()
enemy_board.name = 'EnemeyBoard'
add_child(enemy_board)
enemy_board.scale = Vector2(1,1) - BOARD_SCALE
enemy_board.position = Vector2(BOARD_SCALE.x * 64 * 6,0)
enemy_board.generate_from_string(level)
Server side:
server_socket = socket()
server_socket.bind(('0.0.0.0', 80))
server_socket.listen(5)
game_lobby = []
while True:
rlist, wlist, xlist = select([server_socket] + game_lobby, [], [])
for current_socket in rlist:
if current_socket == server_socket:
(new_socket, address) = server_socket.accept()
game_lobby.append(Player.copy(new_socket))
print("Added connection: " + str(address))
else:
current_socket.close()
game_lobby.remove(current_socket)
print(f"Removed connection: {str(address)} Quit Lobby")
if len(game_lobby) >= player_amount:
game = Game(boards[randint(0,999)], game_lobby)
game.start()
game_lobby = []