Websocket max idle time?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By shintiger

I have a godot server build that use websocket client connect to my python server.
Everything are fine but when godot_server keep running over few hours, my websocket server show it disconnected( I also terminate the ws server to ensure) and godot_server any ws closed/error not detected but I can sure it still calling the poll()

extends Node

var websocket = WebSocketClient.new()
var websocketHost = "myhost.com"
var connecting = false
var last_print_minute = -1

# Called when the node enters the scene tree for the first time.
func _ready():
	websocket.verify_ssl = false
	websocket.connect("connection_established", self, "on_connected")
	websocket.connect("data_received", self, "on_data")
	websocket.connect("server_close_request", self, "on_server_close")
	websocket.connect("connection_closed", self, "on_connection_closed")
	websocket.connect("connection_error", self, "on_connection_error")
	connecting = true
	websocket.connect_to_url("ws://"+websocketHost)

func _process(delta):
	var time = OS.get_datetime()
	if time['minute']!=last_print_minute:
		last_print_minute = time['minute']
			print("[", time['year'], "-", time['month'], "-", time['day'], " ", time['hour'], ":", time['minute'], ":", time['second'], "] is_connecting=", connecting)
	if connecting:
		websocket.poll()

func on_connected(protocol):
	print("connected")

func on_server_close (code, reason):
	print("server request closed")
	
func on_connection_closed( was_clean_close ):
	print("connection closed")
	connecting = false
	get_tree().quit()
	
func on_connection_error():
	print("connection error")
	connecting = false
	get_tree().quit()

After server terminated, godot still printing timestamp but never print any closed or quit
This happen everytime after few hours, I record once => running for 25,126 seconds and server side show that disconnected
Any idea?