35954dc41b
Simple workaround to fix vcmiserver shutdown procedure
...
At the moment, vcmilobby *requires* async writes in order to handle
multiple connections with different speeds and at optimal performance,
without hanging if one player is too slow and can't eat all data server
sent to him at once.
However server (and potentially - client) can not handle this mode and
may shutdown either socket or entire asio service too early, before all
writes are performed, leading to weird freeze on ending scenario where
client would not receive notifications about end of game.
2024-05-14 19:40:20 +00:00
6d08ec6323
More robust handling of connection errors
...
Fixes potentially hanging by heartbeat sockets
2024-05-12 19:13:17 +00:00
0403626c93
Fix excessive calls of steady_timer::async_wait
2024-05-11 16:10:07 +00:00
67604e1e01
Reapply "Simple implementation of heartbeat package"
...
This reverts commit ede92c1a9c
.
2024-05-11 16:10:08 +00:00
4c3aac8f19
Use async_write to prevent locks if receiver is too slow
2024-05-11 16:09:03 +00:00
66e2e13ba1
Add few more safety checks to network connection logic
2024-05-07 08:34:47 +00:00
ede92c1a9c
Revert "Simple implementation of heartbeat package"
...
This reverts commit 5f344e410a
.
2024-05-07 08:31:08 +00:00
5f344e410a
Simple implementation of heartbeat package
2024-04-30 22:44:31 +03:00
6901945b6e
Fix possible thread race on sending packet from two threads
2024-02-25 20:05:28 +02:00
779625415f
Guard against concurrent writes on same asio::socket instance
2024-02-19 13:47:06 +02:00
7dee24edae
Cleanup
2024-02-03 23:30:16 +02:00
2c2bec791c
Fixes and cleanup of game client network shutdown and restart
2024-02-03 19:27:04 +02:00
f97ffd8e9a
Better handling of disconnects, code cleanup
2024-02-02 15:32:06 +02:00
29c0989849
Use std::byte to manage network data
2024-02-02 02:02:09 +02:00
80e960bc8e
Finalized new TCP networking API
2024-01-19 23:52:28 +02:00
22f0ca67c6
Fix connection to game lobby & map load
2024-01-19 23:49:59 +02:00
0a1153e1c6
Switch client-server communication to new API
2024-01-19 23:49:59 +02:00
de5227142b
Implemented message receiving / broadcasting
2024-01-19 23:49:59 +02:00
dff9cf39c0
Implemented connection handling
2024-01-19 23:49:59 +02:00
c2c43602ea
Initial version of global lobby server available in client
2024-01-19 23:49:59 +02:00