diff --git a/kubi-server/src/server.rs b/kubi-server/src/server.rs index 22b37a4..6d5339f 100644 --- a/kubi-server/src/server.rs +++ b/kubi-server/src/server.rs @@ -34,6 +34,8 @@ pub fn bind_server( enable_handshake_errors: true, endpoint_config: EndpointConfig { active_timeout_ms: config.server.timeout_ms, + keepalive: true, + keepalive_interval_ms: 1000, ..Default::default() }, ..Default::default() diff --git a/kubi/src/networking.rs b/kubi/src/networking.rs index 286cd59..6abfbb3 100644 --- a/kubi/src/networking.rs +++ b/kubi/src/networking.rs @@ -1,7 +1,7 @@ use shipyard::{Unique, AllStoragesView, UniqueView, UniqueViewMut, Workload, IntoWorkload, EntitiesViewMut, Component, ViewMut, SystemModificator, View, IntoIter, WorkloadModificator}; use glium::glutin::event_loop::ControlFlow; use std::net::SocketAddr; -use uflow::client::{Client, Config as ClientConfig, Event as ClientEvent}; +use uflow::{client::{Client, Config as ClientConfig, Event as ClientEvent}, EndpointConfig}; use kubi_shared::networking::{ messages::{ClientToServerMessage, ServerToClientMessage, S_SERVER_HELLO}, state::ClientJoinState, @@ -54,7 +54,14 @@ fn connect_client( ) { log::info!("Creating client"); let address = storages.borrow::>().unwrap(); - let client = Client::connect(address.0, ClientConfig::default()).expect("Client connection failed"); + let client = Client::connect(address.0, ClientConfig { + endpoint_config: EndpointConfig { + active_timeout_ms: 10000, + keepalive: true, + keepalive_interval_ms: 1000, + ..Default::default() + }, + }).expect("Client connection failed"); storages.add_unique(UdpClient(client)); storages.add_unique(ClientJoinState::Disconnected); }