Reduce overhead of every single order/sync frame by 162/222 bytes

This commit is contained in:
jrb0001
2019-04-29 20:30:29 +02:00
committed by reaperrr
parent 7f7809fe70
commit b774556a5f

View File

@@ -275,8 +275,13 @@ namespace OpenRA.Server
// Assign the player number. // Assign the player number.
newConn.PlayerIndex = ChooseFreePlayerIndex(); newConn.PlayerIndex = ChooseFreePlayerIndex();
newConn.AuthToken = token; newConn.AuthToken = token;
SendData(newConn.Socket, BitConverter.GetBytes(ProtocolVersion.Version));
SendData(newConn.Socket, BitConverter.GetBytes(newConn.PlayerIndex)); // Send handshake and client index.
var ms = new MemoryStream(8);
ms.WriteArray(BitConverter.GetBytes(ProtocolVersion.Version));
ms.WriteArray(BitConverter.GetBytes(newConn.PlayerIndex));
SendData(newConn.Socket, ms.ToArray());
PreConns.Add(newConn); PreConns.Add(newConn);
// Dispatch a handshake order // Dispatch a handshake order
@@ -533,10 +538,12 @@ namespace OpenRA.Server
{ {
try try
{ {
SendData(c.Socket, BitConverter.GetBytes(data.Length + 4)); var ms = new MemoryStream(data.Length + 12);
SendData(c.Socket, BitConverter.GetBytes(client)); ms.WriteArray(BitConverter.GetBytes(data.Length + 4));
SendData(c.Socket, BitConverter.GetBytes(frame)); ms.WriteArray(BitConverter.GetBytes(client));
SendData(c.Socket, data); ms.WriteArray(BitConverter.GetBytes(frame));
ms.WriteArray(data);
SendData(c.Socket, ms.ToArray());
} }
catch (Exception e) catch (Exception e)
{ {