public void TestGenerateFactoryEmpty() { NetworkPacketFactoryCodeGenerater gen = new NetworkPacketFactoryCodeGenerater( System.Windows.Forms.Application.StartupPath + "\\Test\\Networking\\TestFactoriesEmpty.dll"); gen.BuildFactoriesAssembly(); }
public void Connect(string ip, int port) { AutoResetEvent ev = new AutoResetEvent(false); var conn = new TCPConnection(); conn.ConnectedToServer += delegate { ev.Set(); }; conn.Connect(ip, port); if (!ev.WaitOne(5000)) { throw new Exception("Connection timed out!"); } var cpm = new ClientPacketManagerNetworked(conn); conn.Receiving = true; Thread.Sleep(100); cpm.WaitForUDPConnected(); cpm.SyncronizeRemotePacketIDs(); var gen = new NetworkPacketFactoryCodeGenerater(TWDir.Cache.CreateChild("GodGame").CreateFile("ClientPackets" + (new Random()).Next() + ".dll").FullName); UserInputHandlerTransporter = cpm.CreatePacketTransporter("UserInputHandler", gen.GetFactory <UserInputHandlerPacket>(), PacketFlags.TCP); UserInputTransporter = cpm.CreatePacketTransporter("UserInput", gen.GetFactory <UserInputPacket>(), PacketFlags.TCP); GameStateDeltaTransporter = cpm.CreatePacketTransporter("GameStateDelta", gen.GetFactory <GameStateDeltaPacket>(), PacketFlags.TCP); gen.BuildFactoriesAssembly(); }
public ClientSyncer(IClientPacketManager packetManager) { //TODO: cleanup var gen = new NetworkPacketFactoryCodeGenerater(TWDir.Cache.FullName + "\\ClientSyncerGenTemp" + (new Random()).Next(0, 10000) + ".dll"); var timeFactory = gen.GetFactory <TimeUpdatePacket>(); gen.BuildFactoriesAssembly(); deltaTransport = packetManager.CreatePacketTransporter("WorldSyncerDeltaSnapshot", new DataPacket.Factory(), PacketFlags.UDP); timeTransport = packetManager.CreatePacketTransporter("WorldSyncerTimeUpdate", timeFactory, PacketFlags.UDP); var t = new Thread(receiveDeltaJob) { Name = "ClientSyncerDeltaJob", IsBackground = true }; t.Start(); t = new Thread(receiveTimeJob) { Name = "ClientSyncerTimeJob", IsBackground = true }; t.Start(); }
public void TestGenerateFactoryProperties() { NetworkPacketFactoryCodeGenerater gen = new NetworkPacketFactoryCodeGenerater( System.Windows.Forms.Application.StartupPath + "\\Test\\Networking\\TestFactoriesGeneratedProperties.dll"); INetworkPacketFactory <PacketPropertiesTest> factory = gen.GetFactory <PacketPropertiesTest>(); gen.BuildFactoriesAssembly(); PacketPropertiesTest p = new PacketPropertiesTest(); p.Text = "Hello"; p.Getal = 38; MemoryStream memStrm = new MemoryStream(); BinaryWriter bw = new BinaryWriter(memStrm); BinaryReader br = new BinaryReader(memStrm); factory.ToStream(bw, p); memStrm.Position = 0; PacketPropertiesTest pCheck = factory.FromStream(br); Assert.AreEqual(pCheck, p); }
public void TestGenerateFactoryFields() { NetworkPacketFactoryCodeGenerater gen = new NetworkPacketFactoryCodeGenerater( System.Windows.Forms.Application.StartupPath + "\\Test\\Networking\\TestFactoriesGeneratedFields.dll"); INetworkPacketFactory <PacketFieldsTest> factory = gen.GetFactory <PacketFieldsTest>(); gen.BuildFactoriesAssembly(); PacketFieldsTest p = new PacketFieldsTest(); p.Text = "Hello"; p.Getal = 38; p.Boolean = true; p.GetalFloat = 456f; p.Buffer = new byte[] { 1, 1, 2, 3, 5, 7, 13, 21 }; p.Guid = Guid.NewGuid(); p.Enum = ByteEnum.Second; p.Array = new int[] { 1, 3, 6, 10, 15, 21 }; MemoryStream memStrm = new MemoryStream(); BinaryWriter bw = new BinaryWriter(memStrm); BinaryReader br = new BinaryReader(memStrm); factory.ToStream(bw, p); memStrm.Position = 0; PacketFieldsTest pCheck = factory.FromStream(br); Assert.AreEqual(pCheck, p); }
public void StartListening() { var gen = new NetworkPacketFactoryCodeGenerater(TWDir.Cache.CreateChild("GodGame").CreateFile("ServerPackets" + (new Random()).Next() + ".dll").FullName); UserInputHandlerTransporter = spm.CreatePacketTransporter("UserInputHandler", gen.GetFactory <UserInputHandlerPacket>(), PacketFlags.TCP); UserInputTransporter = spm.CreatePacketTransporter("UserInput", gen.GetFactory <UserInputPacket>(), PacketFlags.TCP); GameStateDeltaTransporter = spm.CreatePacketTransporter("GameStateDelta", gen.GetFactory <GameStateDeltaPacket>(), PacketFlags.TCP); gen.BuildFactoriesAssembly(); UserInputTransporter.EnableReceiveMode(); }
public VirtualNetworkConnectorClient(SimpleClientPacketManager cpm) { var gen = new NetworkPacketFactoryCodeGenerater(TWDir.Cache.CreateChild("GodGame").CreateFile("ClientPackets" + (new Random()).Next() + ".dll").FullName); UserInputHandlerTransporter = cpm.CreatePacketTransporter("UserInputHandler", gen.GetFactory <UserInputHandlerPacket>(), PacketFlags.TCP); UserInputTransporter = cpm.CreatePacketTransporter("UserInput", gen.GetFactory <UserInputPacket>(), PacketFlags.TCP); GameStateDeltaTransporter = cpm.CreatePacketTransporter("GameStateDelta", gen.GetFactory <GameStateDeltaPacket>(), PacketFlags.TCP); gen.BuildFactoriesAssembly(); }
public void TestGenerateFactory() { NetworkPacketFactoryCodeGenerater gen = new NetworkPacketFactoryCodeGenerater( System.Windows.Forms.Application.StartupPath + "\\Test\\Networking\\TestFactoriesGenerated.dll"); INetworkPacketFactory <DataPacket> factory = gen.GetFactory <DataPacket>(); gen.BuildFactoriesAssembly(); }
public ServerFileTransporter(string uniqueName, IServerPacketManager pm) { var gen = new NetworkPacketFactoryCodeGenerater(Application.StartupPath + "\\ServerFileTrans" + uniqueName + ".dll"); fileStartTransporter = pm.CreatePacketTransporter("SFTFileStart" + uniqueName, gen.GetFactory <FileStartPacket>(), PacketFlags.TCP); fileCompleteTransporter = pm.CreatePacketTransporter("SFTFileComplete" + uniqueName, gen.GetFactory <T>(), PacketFlags.TCP); filePartTransporter = pm.CreatePacketTransporter("SFTFilePart" + uniqueName, gen.GetFactory <FilePartPacket>(), PacketFlags.TCP); gen.BuildFactoriesAssembly(); //fileList = _fileList; //cacheDir = TWDir.Cache.CreateSubdirectory("LauncherServer"); }
public NetworkConnectorServer(int tcpPort, int udpPort) { TcpPort = tcpPort; spm = new ServerPacketManagerNetworked(tcpPort, udpPort); var gen = new NetworkPacketFactoryCodeGenerater(TWDir.Cache.CreateChild("GodGame").CreateFile("ServerPackets" + (new Random()).Next() + ".dll").FullName); UserInputHandlerTransporter = spm.CreatePacketTransporter("UserInputHandler", gen.GetFactory <UserInputHandlerPacket>(), PacketFlags.TCP); UserInputTransporter = spm.CreatePacketTransporter("UserInput", gen.GetFactory <UserInputPacket>(), PacketFlags.TCP); GameStateDeltaTransporter = spm.CreatePacketTransporter("GameStateDelta", gen.GetFactory <GameStateDeltaPacket>(), PacketFlags.TCP); gen.BuildFactoriesAssembly(); UserInputTransporter.EnableReceiveMode(); }
public ServerSyncer(IServerPacketManager packetManager) { //TODO: cleanup var gen = new NetworkPacketFactoryCodeGenerater(TWDir.Cache.FullName + "\\ServerSyncerGenTemp.dll"); var timeFactory = gen.GetFactory <TimeUpdatePacket>(); gen.BuildFactoriesAssembly(); deltaSnapshotTransporter = packetManager.CreatePacketTransporter("WorldSyncerDeltaSnapshot", new DataPacket.Factory(), Networking.PacketFlags.UDP); timeUpdateTransporter = packetManager.CreatePacketTransporter("WorldSyncerTimeUpdate", timeFactory, Networking.PacketFlags.UDP); }
public ClientVersioningSyncer(VersioningSystem sys, IClientPacketManager pm) { this.sys = sys; var gen = new NetworkPacketFactoryCodeGenerater(TWDir.GenerateRandomCacheFile("CVS", "dll")); revisionTransporter = pm.CreatePacketTransporter("Versioning_Revision", gen.GetFactory <RevisionPacket>(), PacketFlags.TCP); requestRevisionTransporter = pm.CreatePacketTransporter("Versioning_RequestRevision", gen.GetFactory <RevisionRequestPacket>(), PacketFlags.TCP); commandTransporter = pm.CreatePacketTransporter("Versioning_CMD", new BytePacket.Factory(), PacketFlags.TCP); fileTransporter = new ClientFileTransporter <RevisionFilePacket>("Versioning_File", pm, TWDir.Cache.CreateSubdirectory("Versioning").FullName); fileTransporter.StartReceiving(); gen.BuildFactoriesAssembly(); }
public ClientFileTransporter(string uniqueName, IClientPacketManager pm, string downloadCachePath) { this.downloadCachePath = downloadCachePath; UniqueName = uniqueName; i = (new Random()).Next(0, 1000); var gen = new NetworkPacketFactoryCodeGenerater(Application.StartupPath + "\\ClientFileTrans" + uniqueName + i.ToString() + ".dll"); startTransporter = pm.CreatePacketTransporter("SFTFileStart" + uniqueName, gen.GetFactory <FileStartPacket>(), PacketFlags.TCP); endTransporter = pm.CreatePacketTransporter("SFTFileComplete" + uniqueName, gen.GetFactory <T>(), PacketFlags.TCP); partTransporter = pm.CreatePacketTransporter("SFTFilePart" + uniqueName, gen.GetFactory <FilePartPacket>(), PacketFlags.TCP); gen.BuildFactoriesAssembly(); StartReceiving(); }
public ServerVersioningSyncer(VersioningSystem sys, IServerPacketManager pm) { this.sys = sys; var gen = new NetworkPacketFactoryCodeGenerater(TWDir.GenerateRandomCacheFile("CVS", "dll")); revisionTransporter = pm.CreatePacketTransporter("Versioning_Revision", gen.GetFactory <RevisionPacket>(), PacketFlags.TCP); requestRevisionTransporter = pm.CreatePacketTransporter("Versioning_RequestRevision", gen.GetFactory <RevisionRequestPacket>(), PacketFlags.TCP); requestRevisionTransporter.EnableReceiveCallbackMode(onRequestRevision); commandTransporter = pm.CreatePacketTransporter("Versioning_CMD", new BytePacket.Factory(), PacketFlags.TCP); commandTransporter.EnableReceiveCallbackMode(onCommandReceived); fileTransporter = new ServerFileTransporter <RevisionFilePacket>("Versioning_File", pm); gen.BuildFactoriesAssembly(); }
public void TestGenerateMultiple() { NetworkPacketFactoryCodeGenerater gen = new NetworkPacketFactoryCodeGenerater( Application.StartupPath + "\\Test\\Networking\\TestGenerateMultiple.dll"); INetworkPacketFactory <PacketFieldsTest> factory1 = gen.GetFactory <PacketFieldsTest>(); INetworkPacketFactory <PacketPropertiesTest> factory2 = gen.GetFactory <PacketPropertiesTest>(); gen.BuildFactoriesAssembly(); PacketFieldsTest p1 = new PacketFieldsTest(); p1.Text = "Hello"; p1.Getal = 38; MemoryStream memStrm; BinaryWriter bw; BinaryReader br; memStrm = new MemoryStream(); bw = new BinaryWriter(memStrm); br = new BinaryReader(memStrm); factory1.ToStream(bw, p1); memStrm.Position = 0; PacketFieldsTest pCheck1 = factory1.FromStream(br); Assert.AreEqual(pCheck1, p1); PacketPropertiesTest p2 = new PacketPropertiesTest(); p2.Text = "Hello"; p2.Getal = 38; memStrm = new MemoryStream(); bw = new BinaryWriter(memStrm); br = new BinaryReader(memStrm); factory2.ToStream(bw, p2); memStrm.Position = 0; PacketPropertiesTest pCheck2 = factory2.FromStream(br); Assert.AreEqual(pCheck2, p2); }