mirror of
https://github.com/CTCaer/RetroArch.git
synced 2025-01-08 11:30:32 +00:00
fb3c35dc9f
Netplay state demotions, i.e. changes from playing to spectating or disconnected states, could cause chain disconnections of all other clients. This was due to a bug in when MODE change messages were sent. Clients rely on the server sending all messages in its own order, and as a consequence, the server typically holds messages for retransmission until they can be retransmitted at the correct time. MODE messages were not held, so could be sent early. When they were sent early, this caused other clients to panic and disconnect. A smaller but much stupider secondary bug was also fixed, in which the first connection could be dropped due simply to writing connections[0] instead of connections[i] somewhere. |
||
---|---|---|
.. | ||
httpserver | ||
netplay | ||
net_http_special.c | ||
net_http_special.h | ||
net_logger.c |