public async Task RelayEndtoEndFakeIP() { SteamNetworkingUtils.InitRelayNetworkAccess(); SteamNetworkingUtils.DebugLevel = NetDebugOutput.Warning; SteamNetworkingUtils.OnDebugOutput += DebugOutput; // For some reason giving steam a couple of seconds here // seems to prevent it returning null connections from ConnectNormal await Task.Delay(2000); Console.WriteLine($"----- Creating Socket Relay Socket.."); var socket = SteamNetworkingSockets.CreateRelaySocketFakeIP <TestSocketInterface>(); var server = socket.RunAsync(); await Task.Delay(1000); Console.WriteLine($"----- Retrieving Fake IP.."); SteamNetworkingSockets.GetFakeIP(0, out NetAddress address); Console.WriteLine($"----- Connecting To Socket via Fake IP ({address})"); var connection = SteamNetworkingSockets.ConnectNormal <TestConnectionInterface>(address); var client = connection.RunAsync(); await Task.WhenAll(server, client); }
public async Task CreateRelayServerFakeIP() { SteamNetworkingUtils.DebugLevel = NetDebugOutput.Everything; SteamNetworkingUtils.OnDebugOutput += DebugOutput; var si = SteamNetworkingSockets.CreateRelaySocketFakeIP <TestSocketInterface>(); Console.WriteLine($"Created Socket: {si}"); // Give it a second for something to happen await Task.Delay(1000); si.Close(); }