public void TestTransmitUserInputNetworked() { TCPConnection conn1, conn2; NetworkingUtilities.EstablishTwoWayTCP(out conn1, out conn2); conn1.Receiving = true; conn2.Receiving = true; var man1 = new ClientPacketManagerNetworked(conn1); var man2 = new ClientPacketManagerNetworked(conn2); man1.DisableUDP(); man2.DisableUDP(); var gen = createPacketGen(); var proxyTrans = man1.CreatePacketTransporter("Test", gen.GetFactory <UserInputHandlerPacket>(), PacketFlags.TCP); var realTrans = man2.CreatePacketTransporter("Test", gen.GetFactory <UserInputHandlerPacket>(), PacketFlags.TCP); gen.BuildFactoriesAssembly(); man2.AutoAssignPacketIDs(); man1.SyncronizeRemotePacketIDs(); testInputHandler(proxyTrans, realTrans); }
public void TestSyncOnlineClient() { var conn = NetworkingUtilities.ConnectTCP(10045, "5.149.17.16"); //var conn = NetworkingClientTest.ConnectTCP(10045, "127.0.0.1"); conn.Receiving = true; var client = new ClientPacketManagerNetworked(conn); var clientSyncer = new ClientSyncer(client); var physicsEngine = new PhysicsEngine(); StillDesign.PhysX.Scene serverScene = null; PhysicsDebugRendererXNA debugRenderer; PhysicsDebugRendererXNA debugRendererServer; var game = new XNAGame(); game.InitializeEvent += delegate { physicsEngine.Initialize(); serverScene = physicsEngine.CreateScene(physicsEngine.Scene.Gravity, true); debugRenderer = new PhysicsDebugRendererXNA(game, physicsEngine.Scene); game.AddXNAObject(debugRenderer); debugRendererServer = new PhysicsDebugRendererXNA(game, serverScene); game.AddXNAObject(debugRendererServer); ActorDescription actorDesc; SphereShapeDescription shape; shape = new SphereShapeDescription(1); actorDesc = new ActorDescription(shape); actorDesc.BodyDescription = new BodyDescription(10); var client1 = clientSyncer.CreateActor(physicsEngine.Scene.CreateActor(actorDesc)); client1.ID = 2; // Identify }; game.UpdateEvent += delegate { physicsEngine.Update(game); physicsEngine.UpdateScene(game.Elapsed, serverScene); clientSyncer.Update(game.Elapsed); }; client.SyncronizeRemotePacketIDs(); client.WaitForUDPConnected(); game.Run(); physicsEngine.Dispose(); }
public void TestSyncOnline() { var server = new ServerPacketManagerNetworked(10045, 10046); var success = new AutoResetEvent(false); var serverSyncer = new ServerSyncer(server); server.Start(); var conn = NetworkingUtilities.ConnectTCP(10045, "127.0.0.1"); conn.Receiving = true; var client = new ClientPacketManagerNetworked(conn); var clientSyncer = new ClientSyncer(client); var physicsEngine = new PhysicsEngine(); StillDesign.PhysX.Scene serverScene = null; PhysicsDebugRendererXNA debugRenderer; PhysicsDebugRendererXNA debugRendererServer; var game = new XNAGame(); game.InitializeEvent += delegate { physicsEngine.Initialize(); serverScene = physicsEngine.CreateScene(physicsEngine.Scene.Gravity, true); debugRenderer = new PhysicsDebugRendererXNA(game, physicsEngine.Scene); game.AddXNAObject(debugRenderer); debugRendererServer = new PhysicsDebugRendererXNA(game, serverScene); game.AddXNAObject(debugRendererServer); ActorDescription actorDesc; SphereShapeDescription shape; shape = new SphereShapeDescription(1); actorDesc = new ActorDescription(shape); actorDesc.BodyDescription = new BodyDescription(10); var server1 = serverSyncer.CreateActor(serverScene.CreateActor(actorDesc)); ((WorldPhysxSyncActor)server1.Actor).Actor.AddForce(Vector3.UnitX * 200, ForceMode.Impulse); shape = new SphereShapeDescription(1); actorDesc = new ActorDescription(shape); actorDesc.BodyDescription = new BodyDescription(10); var client1 = clientSyncer.CreateActor(physicsEngine.Scene.CreateActor(actorDesc)); client1.ID = server1.ID; // Identify }; game.UpdateEvent += delegate { physicsEngine.Update(game); physicsEngine.UpdateScene(game.Elapsed, serverScene); serverSyncer.Update(game.Elapsed); clientSyncer.Update(game.Elapsed); }; client.SyncronizeRemotePacketIDs(); client.WaitForUDPConnected(); game.Run(); physicsEngine.Dispose(); }
public static TCPConnection ConnectTCP(int port, string ip) { return(NetworkingUtilities.ConnectTCP(port, ip)); }
private void establishTCP(out TCPConnection conn1, out TCPConnection conn2) { NetworkingUtilities.EstablishTwoWayTCP(out conn1, out conn2); }