mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-12-11 20:15:10 +01:00
network errors
This commit is contained in:
parent
1acebc44cd
commit
8ba823cb79
@ -71,7 +71,7 @@ public static class Util
|
||||
if (transport.DoFakeNetworkErrors)
|
||||
{
|
||||
var floatHandle = GCHandle.Alloc((float)50, GCHandleType.Pinned);
|
||||
var intHandle = GCHandle.Alloc((int)500, GCHandleType.Pinned);
|
||||
var intHandle = GCHandle.Alloc((int)100, GCHandleType.Pinned);
|
||||
|
||||
// global scope = dont apply to connection
|
||||
SteamNetworkingUtils.SetConfigValue(
|
||||
@ -88,101 +88,66 @@ public static class Util
|
||||
ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Float,
|
||||
floatHandle.AddrOfPinnedObject()
|
||||
);
|
||||
/*
|
||||
result.Add(new SteamNetworkingConfigValue_t
|
||||
{
|
||||
m_eValue = ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketLoss_Send,
|
||||
m_eDataType = ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Float,
|
||||
m_val = new SteamNetworkingConfigValue_t.OptionValue
|
||||
{
|
||||
m_float = 50
|
||||
}
|
||||
});
|
||||
result.Add(new SteamNetworkingConfigValue_t
|
||||
{
|
||||
m_eValue = ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketLoss_Recv,
|
||||
m_eDataType = ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Float,
|
||||
m_val = new SteamNetworkingConfigValue_t.OptionValue
|
||||
{
|
||||
m_float = 50
|
||||
}
|
||||
});
|
||||
|
||||
result.Add(new SteamNetworkingConfigValue_t
|
||||
{
|
||||
m_eValue = ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketLag_Send,
|
||||
m_eDataType = ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Int32,
|
||||
m_val = new SteamNetworkingConfigValue_t.OptionValue
|
||||
{
|
||||
m_int32 = 500
|
||||
}
|
||||
});
|
||||
result.Add(new SteamNetworkingConfigValue_t
|
||||
{
|
||||
m_eValue = ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketLag_Recv,
|
||||
m_eDataType = ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Int32,
|
||||
m_val = new SteamNetworkingConfigValue_t.OptionValue
|
||||
{
|
||||
m_int32 = 500
|
||||
}
|
||||
});
|
||||
SteamNetworkingUtils.SetConfigValue(
|
||||
ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketLag_Send,
|
||||
ESteamNetworkingConfigScope.k_ESteamNetworkingConfig_Global,
|
||||
IntPtr.Zero,
|
||||
ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Int32,
|
||||
intHandle.AddrOfPinnedObject()
|
||||
);
|
||||
SteamNetworkingUtils.SetConfigValue(
|
||||
ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketLag_Recv,
|
||||
ESteamNetworkingConfigScope.k_ESteamNetworkingConfig_Global,
|
||||
IntPtr.Zero,
|
||||
ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Int32,
|
||||
intHandle.AddrOfPinnedObject()
|
||||
);
|
||||
|
||||
result.Add(new SteamNetworkingConfigValue_t
|
||||
{
|
||||
m_eValue = ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketReorder_Send,
|
||||
m_eDataType = ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Float,
|
||||
m_val = new SteamNetworkingConfigValue_t.OptionValue
|
||||
{
|
||||
m_float = 50
|
||||
}
|
||||
});
|
||||
result.Add(new SteamNetworkingConfigValue_t
|
||||
{
|
||||
m_eValue = ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketReorder_Recv,
|
||||
m_eDataType = ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Float,
|
||||
m_val = new SteamNetworkingConfigValue_t.OptionValue
|
||||
{
|
||||
m_float = 50
|
||||
}
|
||||
});
|
||||
result.Add(new SteamNetworkingConfigValue_t
|
||||
{
|
||||
m_eValue = ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketReorder_Time,
|
||||
m_eDataType = ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Int32,
|
||||
m_val = new SteamNetworkingConfigValue_t.OptionValue
|
||||
{
|
||||
m_int32 = 500
|
||||
}
|
||||
});
|
||||
SteamNetworkingUtils.SetConfigValue(
|
||||
ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketReorder_Send,
|
||||
ESteamNetworkingConfigScope.k_ESteamNetworkingConfig_Global,
|
||||
IntPtr.Zero,
|
||||
ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Float,
|
||||
floatHandle.AddrOfPinnedObject()
|
||||
);
|
||||
SteamNetworkingUtils.SetConfigValue(
|
||||
ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketReorder_Recv,
|
||||
ESteamNetworkingConfigScope.k_ESteamNetworkingConfig_Global,
|
||||
IntPtr.Zero,
|
||||
ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Float,
|
||||
floatHandle.AddrOfPinnedObject()
|
||||
);
|
||||
SteamNetworkingUtils.SetConfigValue(
|
||||
ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketReorder_Time,
|
||||
ESteamNetworkingConfigScope.k_ESteamNetworkingConfig_Global,
|
||||
IntPtr.Zero,
|
||||
ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Int32,
|
||||
intHandle.AddrOfPinnedObject()
|
||||
);
|
||||
|
||||
SteamNetworkingUtils.SetConfigValue(
|
||||
ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketDup_Send,
|
||||
ESteamNetworkingConfigScope.k_ESteamNetworkingConfig_Global,
|
||||
IntPtr.Zero,
|
||||
ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Float,
|
||||
floatHandle.AddrOfPinnedObject()
|
||||
);
|
||||
SteamNetworkingUtils.SetConfigValue(
|
||||
ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketDup_Recv,
|
||||
ESteamNetworkingConfigScope.k_ESteamNetworkingConfig_Global,
|
||||
IntPtr.Zero,
|
||||
ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Float,
|
||||
floatHandle.AddrOfPinnedObject()
|
||||
);
|
||||
SteamNetworkingUtils.SetConfigValue(
|
||||
ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketDup_TimeMax,
|
||||
ESteamNetworkingConfigScope.k_ESteamNetworkingConfig_Global,
|
||||
IntPtr.Zero,
|
||||
ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Int32,
|
||||
intHandle.AddrOfPinnedObject()
|
||||
);
|
||||
|
||||
result.Add(new SteamNetworkingConfigValue_t
|
||||
{
|
||||
m_eValue = ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketDup_Send,
|
||||
m_eDataType = ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Float,
|
||||
m_val = new SteamNetworkingConfigValue_t.OptionValue
|
||||
{
|
||||
m_float = 50
|
||||
}
|
||||
});
|
||||
result.Add(new SteamNetworkingConfigValue_t
|
||||
{
|
||||
m_eValue = ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketDup_Recv,
|
||||
m_eDataType = ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Float,
|
||||
m_val = new SteamNetworkingConfigValue_t.OptionValue
|
||||
{
|
||||
m_float = 50
|
||||
}
|
||||
});
|
||||
result.Add(new SteamNetworkingConfigValue_t
|
||||
{
|
||||
m_eValue = ESteamNetworkingConfigValue.k_ESteamNetworkingConfig_FakePacketDup_TimeMax,
|
||||
m_eDataType = ESteamNetworkingConfigDataType.k_ESteamNetworkingConfig_Int32,
|
||||
m_val = new SteamNetworkingConfigValue_t.OptionValue
|
||||
{
|
||||
m_int32 = 500
|
||||
}
|
||||
});
|
||||
*/
|
||||
floatHandle.Free();
|
||||
intHandle.Free();
|
||||
}
|
||||
|
||||
@ -73,12 +73,13 @@ public static class Program
|
||||
transport.TestIpAddress = "127.0.0.1:1234";
|
||||
// make timeout for client detecting server drop different than timeout for server detecting client drop
|
||||
transport.Timeout = 5000;
|
||||
transport.DoFakeNetworkErrors = false;
|
||||
transport.DoFakeNetworkErrors = true;
|
||||
|
||||
transport.OnServerError = (conn, error, s) => Console.Error.WriteLine($"ERROR {conn} {error} {s}");
|
||||
var theConn = -1;
|
||||
transport.OnServerConnected = conn => theConn = conn;
|
||||
transport.OnServerDataReceived = (conn, bytes, i) => Console.WriteLine($"RECV {conn} {bytes.Join()} {i}");
|
||||
transport.OnServerDataSent = (conn, bytes, i) => Console.WriteLine($"SEND {conn} {i} {bytes.Join()}");
|
||||
transport.OnServerDataReceived = (conn, bytes, i) => Console.WriteLine($"RECV {conn} {i} {bytes.Join()}");
|
||||
|
||||
transport.ServerStart();
|
||||
|
||||
@ -94,7 +95,9 @@ public static class Program
|
||||
switch (Console.ReadKey(true).KeyChar)
|
||||
{
|
||||
case 'q':
|
||||
running = false;
|
||||
// running = false;
|
||||
transport.ServerDisconnect(theConn); // mirror does this for us
|
||||
transport.ServerStop();
|
||||
break;
|
||||
case 's':
|
||||
transport.ServerSend(theConn, new ArraySegment<byte>(new byte[] { 1, 2, 3, 4, 5 }, 1, 5 - 1));
|
||||
@ -125,7 +128,8 @@ public static class Program
|
||||
transport.DoFakeNetworkErrors = true;
|
||||
|
||||
transport.OnClientError = (error, s) => Console.Error.WriteLine($"ERROR {error} {s}");
|
||||
transport.OnClientDataReceived = (bytes, i) => Console.WriteLine($"RECV {bytes.Join()} {i}");
|
||||
transport.OnClientDataSent = (bytes, i) => Console.WriteLine($"SEND {i} {bytes.Join()}");
|
||||
transport.OnClientDataReceived = (bytes, i) => Console.WriteLine($"RECV {i} {bytes.Join()}");
|
||||
|
||||
transport.ClientConnect("76561198150564286");
|
||||
|
||||
@ -134,7 +138,7 @@ public static class Program
|
||||
Console.WriteLine("press q to quit, s to send");
|
||||
|
||||
var running = true;
|
||||
transport.OnClientDisconnected = () => running = false; // mirror normally does this
|
||||
// transport.OnClientDisconnected = () => running = false; // mirror normally does this
|
||||
while (running)
|
||||
{
|
||||
transport.ClientEarlyUpdate();
|
||||
@ -143,7 +147,8 @@ public static class Program
|
||||
switch (Console.ReadKey(true).KeyChar)
|
||||
{
|
||||
case 'q':
|
||||
running = false;
|
||||
// running = false;
|
||||
transport.ClientDisconnect();
|
||||
break;
|
||||
case 's':
|
||||
transport.ClientSend(new ArraySegment<byte>(new byte[] { 1, 2, 3, 4, 5 }, 1, 5 - 1));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user