private static void Main(string[] args) { ManagedENet.Startup(); Console.WriteLine("Setting up Local Server"); LocalServer = new ENetHost(new IPEndPoint(IPAddress.Any, 17091), 1024, 10, 0, 0); LocalServer.ChecksumWithCRC32(); LocalServer.CompressWithRangeCoder(); LocalServer.OnConnect += (sender, eventArgs) => { LogClient("Connected!"); RemotePeer = RemoteServer.Connect(RemoteEndpoint, 1, 0); RemotePeer.OnReceive += (o, packet) => { SendToClient(packet); }; eventArgs.Peer.OnReceive += (o, packet) => { SendToRemote(packet); }; eventArgs.Peer.OnDisconnect += (o, u) => { RemotePeer.DisconnectNow(0); LogClient("Disconnected!"); }; }; LocalServer.StartServiceThread(); Console.WriteLine("Setting up Remote Server"); RemoteServer = new ENetHost(1, 10); RemoteServer.ChecksumWithCRC32(); RemoteServer.CompressWithRangeCoder(); RemoteServer.OnConnect += (sender, eventArgs) => LogServer("Connected!"); RemoteServer.StartServiceThread(); while (true) { Thread.Sleep(5); } }
private void button2_Click(object sender, EventArgs e) { if (realPeer != null) { if (realPeer.State == ENetPeerState.Connected) { realPeer.DisconnectNow(0); } } if (proxyPeer != null) { if (proxyPeer.State == ENetPeerState.Connected) { proxyPeer.DisconnectNow(0); } } }