public void TestTransportFile() { var path = TWDir.Test + "\\TestAsset.txt"; var strm = new StreamWriter(File.OpenWrite(path)); strm.Write("This is a test asset!"); strm.Close(); var spm = new SimpleServerPacketManager(); var cpm = spm.CreateClient(); var server = new ServerFileTransporter <DataPacket>("TestTrans", spm); server.Start(); var client = new ClientFileTransporter <DataPacket>("TestTrans", cpm, TWDir.Test.CreateSubdirectory("TestTransportFileCache").FullName); var ct = server.GetClientTransporter(spm.Clients[0]); ct.SendFile(new DataPacket(), path); var info = client.ReceiveFile(); // Test TestAsset file var lines = File.ReadAllLines(info.CachedFilePath); Assert.AreEqual(1, lines.Length); Assert.AreEqual("This is a test asset!", lines[0]); }
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(); }