protected override void ParseMessage(IncomingMessage inMessage) { active = inMessage.ReadBool(); sound = inMessage.ReadString(); }
public TestClass() { SetupDebug(); // const int ServerPort = 200; const int ServerPort = 5001; const int ClientPort = 6666; IPHostEntry IPHost = Dns.GetHostEntry("cedeno-dxp.corp.multiverse.net"); IPAddress[] addr = IPHost.AddressList; IPEndPoint sendpt = new IPEndPoint(addr[0], ServerPort); RdpClient rdpClient = new RdpClient(ClientPort, 100, 1000, true); RdpClient rdpClient2 = new RdpClient(ClientPort + 1, 100, 1000, false); //RdpServer rdpServer = new RdpServer(ServerPort, 100, 1000, true); RdpConnection rdpClientConn = rdpClient.Connect(sendpt); RdpConnection rdpClientConn2 = rdpClient2.Connect(sendpt); // RdpConnection rdpServerConn = rdpServer.Accept(); rdpClientConn.WaitForState(ConnectionState.Open); rdpClientConn2.WaitForState(ConnectionState.Open); // Console.WriteLine("Server State = " + rdpServerConn.ConnectionState); Console.WriteLine("Client State = " + rdpClientConn.ConnectionState); OutgoingMessage outMessage = new OutgoingMessage(); outMessage.Write("Good morning"); outMessage.Send(rdpClientConn); outMessage.Send(rdpClientConn2); // byte[] msg = Encoding.ASCII.GetBytes("Test"); // rdpClientConn.Send(msg); // rdpClientConn.Send(msg); // rdpClientConn.Send(msg); IPEndPoint remoteEP = new IPEndPoint(IPAddress.Any, 0); IncomingMessage inMessage; inMessage = new IncomingMessage(rdpClientConn); Console.WriteLine("Got message: {0}", inMessage.ReadString()); inMessage = new IncomingMessage(rdpClientConn2); Console.WriteLine("Got message2: {0}", inMessage.ReadString()); // for (int i = 0; i < 3; ++i) { // byte[] rcvdMessage = rdpServerConn.Receive(ref remoteEP); // Console.WriteLine("Server got message from {1}: '{0}'", // Encoding.ASCII.GetString(rcvdMessage), remoteEP); // rdpServerConn.Send(msg); // } // // for (int i = 0; i < 3; ++i) { // byte[] rcvdMessage = rdpClientConn.Receive(ref remoteEP); // Console.WriteLine("Client got message from {1}: '{0}'", // Encoding.ASCII.GetString(rcvdMessage), remoteEP); // } // // rdpServerConn.Close(); Thread.Sleep(100); // Console.WriteLine("Server State = " + rdpServerConn.ConnectionState); Console.WriteLine("Client State = " + rdpClientConn.ConnectionState); Thread.Sleep(31000); // Console.WriteLine("Server State = " + rdpServerConn.ConnectionState); Console.WriteLine("Client State = " + rdpClientConn.ConnectionState); FinishDebug(); //rdpConn.Open(false, 1, 2, 3, 4, true); //rdpConn.Send(new Multiverse.Network.Rdp.RdpPacket(50)); //this.Hide(); //this.WindowState = FormWindowState.Minimized; }
protected override void ParseMessage(IncomingMessage inMessage) { base.ParseMessage(inMessage); slotName = inMessage.ReadString(); effectName = inMessage.ReadString(); orientation = inMessage.ReadQuaternion(); velocityMultiplier = inMessage.ReadSingle(); particleSizeMultiplier = inMessage.ReadSingle(); particleBooleans = inMessage.ReadByte(); if (GetFlag(Flags.HasColor)) color = inMessage.ReadColor(); }
protected override void ParseMessage(IncomingMessage inMessage) { uiModules = new List<string>(); int numModules = inMessage.ReadInt32(); for (int i = 0; i < numModules; ++i) uiModules.Add(inMessage.ReadString()); try { // introduced in 1.0 keyBindingsFile = inMessage.ReadString(); } catch (Exception) { } }
protected override void ParseMessage(IncomingMessage inMessage) { int stateCount = inMessage.ReadInt32(); while (stateCount > 0) { string key = inMessage.ReadString(); int val = inMessage.ReadInt32(); states[key] = val; stateCount--; } }
protected override void ParseMessage(IncomingMessage inMessage) { configKind = inMessage.ReadString(); configString = inMessage.ReadString(); }
protected override void ParseMessage(IncomingMessage inMessage) { base.ParseMessage(inMessage); name = inMessage.ReadString(); location = inMessage.ReadIntVector(); orientation = inMessage.ReadQuaternion(); scale = inMessage.ReadVector(); objectType = (ObjectNodeType)inMessage.ReadInt32(); followTerrain = inMessage.ReadBool(); try { direction = inMessage.ReadVector(); lastInterp = inMessage.ReadTimestamp(); } catch (System.IO.EndOfStreamException) { // ignore this - it means we got an old style response } }
protected override void ParseMessage(IncomingMessage inMessage) { newSoundEntries = new Dictionary<string, PropertyMap>(); freeSoundEntries = new List<string>(); clearSounds = false; int numEntries = inMessage.ReadInt32(); for (int i = 0; i < numEntries; ++i) { string msgType = inMessage.ReadString(); switch (msgType) { case "on": { string soundName = inMessage.ReadString(); PropertyMap propertyMap = new PropertyMap(); propertyMap.ParseMessage(inMessage); newSoundEntries[soundName] = propertyMap; } break; case "off": freeSoundEntries.Add(inMessage.ReadString()); break; case "clear": clearSounds = true; break; } } }
protected override void ParseMessage(IncomingMessage inMessage) { base.ParseMessage(inMessage); lightType = (LightNodeType)inMessage.ReadInt32(); name = inMessage.ReadString(); diffuse = inMessage.ReadColor(); specular = inMessage.ReadColor(); attenuationRange = inMessage.ReadSingle(); attenuationConstant = inMessage.ReadSingle(); attenuationLinear = inMessage.ReadSingle(); attenuationQuadratic = inMessage.ReadSingle(); switch (lightType) { case LightNodeType.Point: location = inMessage.ReadIntVector(); break; case LightNodeType.Directional: orientation = inMessage.ReadQuaternion(); break; case LightNodeType.Spotlight: location = inMessage.ReadIntVector(); orientation = inMessage.ReadQuaternion(); spotlightInnerAngle = inMessage.ReadSingle(); spotlightOuterAngle = inMessage.ReadSingle(); spotlightFalloff = inMessage.ReadSingle(); break; default: throw new Exception("Invalid light node type: " + lightType); } }
protected override void ParseMessage(IncomingMessage inMessage) { int numEntries = inMessage.ReadInt32(); for (int i = 0; i < numEntries; ++i) { AbilityEntry entry = new AbilityEntry(); entry.name = inMessage.ReadString(); entry.icon = inMessage.ReadString(); entry.category = inMessage.ReadString(); entries.Add(entry); } }
protected override void ParseMessage(IncomingMessage inMessage) { imageName = inMessage.ReadString(); positionX = inMessage.ReadInt32(); positionZ = inMessage.ReadInt32(); sizeX = inMessage.ReadSingle(); sizeZ = inMessage.ReadSingle(); rotation = inMessage.ReadSingle(); priority = inMessage.ReadInt32(); expireTime = inMessage.ReadInt64(); }
protected override void ParseMessage(IncomingMessage inMessage) { startTime = inMessage.ReadTimestamp(); interpKind = inMessage.ReadString(); speed = inMessage.ReadSingle(); terrainString = inMessage.ReadString(); int count = inMessage.ReadInt32(); pathPoints = new List<Vector3>(); for (int i=0; i<count; i++) pathPoints.Add(inMessage.ReadIntVector().ToVector3()); }
protected override void ParseMessage(IncomingMessage inMessage) { name = inMessage.ReadString(); icon = inMessage.ReadString(); description = inMessage.ReadString(); int numCooldowns = inMessage.ReadInt32(); for (int i = 0; i < numCooldowns; i++) cooldowns.Add(inMessage.ReadString()); int numProperties = inMessage.ReadInt32(); for (int i = 0; i < numProperties; i++) { string key = inMessage.ReadString(); string value = inMessage.ReadString(); properties[key] = value; } }
protected override void ParseMessage(IncomingMessage inMessage) { base.ParseMessage(inMessage); log.InfoFormat("LoginResponseMessage.ParseMessage - Oid: {0}", oid); success = inMessage.ReadBool(); message = inMessage.ReadString(); }
public override void ParseMessage(IncomingMessage inMessage) { meshFile = inMessage.ReadString(); int submeshCount = inMessage.ReadInt32(); // submesh count of zero means we leave the submesh list null if (submeshCount != 0) submeshList = new List<SubmeshInfo>(); for (int i = 0; i < submeshCount; ++i) { SubmeshInfo submeshInfo = new SubmeshInfo(); submeshInfo.submeshName = inMessage.ReadString(); submeshInfo.materialName = inMessage.ReadString(); submeshInfo.castShadows = true; submeshInfo.receiveShadows = true; submeshList.Add(submeshInfo); log.InfoFormat("submesh name: {0}; material: {1}", submeshInfo.SubmeshName, submeshInfo.MaterialName); } }
protected override void ParseMessage(IncomingMessage inMessage) { material = inMessage.ReadString(); }
protected override void ParseMessage(IncomingMessage inMessage) { int numProperties = inMessage.ReadInt32(); for (int i = 0; i < numProperties; i++) { string key = inMessage.ReadString(); string value = inMessage.ReadString(); properties[key] = value; } }
protected override void ParseMessage(IncomingMessage inMessage) { int numEntries = inMessage.ReadInt32(); for (int i = 0; i < numEntries; ++i) { string type = inMessage.ReadString(); switch (type) { case "add": SoundEntry entry = new SoundEntry(); entry.soundName = inMessage.ReadString(); if (entry.soundName == "idle") { sounds.Clear(); clear = true; break; } else if (entry.soundName == "strike") { entry.soundName = "swing.wav"; } else if (entry.soundName == "run") { entry.soundName = "gravelwalk.wav"; } else if (entry.soundName == "death") { entry.soundName = "ugh.wav"; } entry.soundSpeed = 1.0f; entry.soundGain = 1.0f; entry.loop = inMessage.ReadBool(); log.InfoFormat("Playing Sound {0}, looping = {1}", entry.soundName, entry.loop); if (sounds.Count > 0) { SoundEntry last = sounds[sounds.Count - 1]; if (last.loop) sounds.RemoveAt(sounds.Count - 1); } sounds.Add(entry); break; case "clear": sounds.Clear(); clear = true; break; default: log.ErrorFormat("Invalid sound message type: {0}", type); break; } } }
protected override void ParseMessage(IncomingMessage inMessage) { worldId = inMessage.ReadString(); characterId = inMessage.ReadInt64(); }
protected override void ParseMessage(IncomingMessage inMessage) { statValues.Clear(); int numElements = inMessage.ReadInt32(); for (int i = 0; i < numElements; ++i) { string statName = inMessage.ReadString(); int statValue = inMessage.ReadInt32(); statValues[statName] = statValue; } }
// This is used to read CharacterResponse, // CharacterDeleteResponse, and CharacterCreateResponse // messages, but nothing else public void OldParseMessage(IncomingMessage inMessage) { int numProperties = inMessage.ReadInt32(); for (int i = 0; i < numProperties; i++) { string key = inMessage.ReadString(); string type = inMessage.ReadString(); string value = inMessage.ReadString(); switch (type) { case "S": properties[key] = value; break; case "B": properties[key] = bool.Parse(value); break; case "I": properties[key] = int.Parse(value); break; case "L": properties[key] = long.Parse(value); break; case "F": properties[key] = float.Parse(value); break; case "V": properties[key] = Vector3.Parse(value); break; case "Q": properties[key] = Quaternion.Parse(value); break; default: throw new System.IO.InvalidDataException("unknown property type"); } } }
protected override void ParseMessage(IncomingMessage inMessage) { base.ParseMessage(inMessage); particleOid = inMessage.ReadInt64(); timeToImpact = inMessage.ReadInt32(); timestamp = inMessage.ReadTimestamp(); targetSocket = inMessage.ReadString(); }
protected override void ParseMessage(IncomingMessage inMessage) { questId = inMessage.ReadInt64(); title = inMessage.ReadString(); description = inMessage.ReadString(); objective = inMessage.ReadString(); int rewardCount = inMessage.ReadInt32(); for (int i = 0; i < rewardCount; ++i) { ItemEntry entry = new ItemEntry(); entry.name = inMessage.ReadString(); entry.icon = inMessage.ReadString(); entry.count = inMessage.ReadInt32(); rewardItems.Add(entry); } }
protected override void ParseMessage(IncomingMessage inMessage) { base.ParseMessage(inMessage); int numItems = inMessage.ReadInt32(); for (int i = 0; i < numItems; ++i) { InvItemInfo info = new InvItemInfo(); info.itemId = inMessage.ReadInt64(); info.name = inMessage.ReadString(); info.icon = inMessage.ReadString(); offer1.Add(info); } accepted1 = inMessage.ReadBool(); numItems = inMessage.ReadInt32(); for (int i = 0; i < numItems; ++i) { InvItemInfo info = new InvItemInfo(); info.itemId = inMessage.ReadInt64(); info.name = inMessage.ReadString(); info.icon = inMessage.ReadString(); offer2.Add(info); } accepted2 = inMessage.ReadBool(); }
protected override void ParseMessage(IncomingMessage inMessage) { questId = inMessage.ReadInt64(); int numEntries = inMessage.ReadInt32(); for (int i = 0; i < numEntries; ++i) objectives.Add(inMessage.ReadString()); }
protected override void ParseMessage(IncomingMessage inMessage) { version = inMessage.ReadString(); worldToken = inMessage.ReadBytes(); error = inMessage.ReadString(); int entryCount = inMessage.ReadInt32(); entries = new List<PropertyMap>(); for (int i = 0; i < entryCount; ++i) { PropertyMap entry = new PropertyMap(); entry.OldParseMessage(inMessage); entries.Add(entry); } }
protected override void ParseMessage(IncomingMessage inMessage) { worldName = inMessage.ReadString(); status = inMessage.ReadBool(); hostname = inMessage.ReadString(); port = inMessage.ReadInt32(); try { patcherUrl = inMessage.ReadString(); updateUrl = inMessage.ReadString(); } catch (System.IO.EndOfStreamException) { log.Warn("Got old style world resolve response"); // ignore this - it means we got an old style response } }
protected override void ParseMessage(IncomingMessage inMessage) { int numEntries = inMessage.ReadInt32(); for (int i = 0; i < numEntries; ++i) { string type = inMessage.ReadString(); switch (type) { case "add": AnimationEntry entry = new AnimationEntry(); entry.animationName = inMessage.ReadString(); entry.animationSpeed = 1.0f; entry.loop = inMessage.ReadBool(); if (animations.Count > 0) { AnimationEntry last = animations[animations.Count - 1]; if (last.loop) animations.RemoveAt(animations.Count - 1); } animations.Add(entry); break; case "clear": animations.Clear(); clear = true; break; default: log.WarnFormat("Invalid animation message type: {0}", type); break; } } }
protected override void ParseMessage(IncomingMessage inMessage) { name = inMessage.ReadString(); points = new List<Vector3>(); int numPoints = inMessage.ReadInt32(); for (int i = 0; i < numPoints; ++i) { IntVector3 point = inMessage.ReadIntVector(); points.Add(point.ToVector3()); } try { halfWidth = inMessage.ReadInt32(); } catch (System.IO.EndOfStreamException) { log.Warn("Got old style road message"); // ignore this - it means we got an old style message halfWidth = -1; // Use default } }
public static void RunIncoming() { int receiveCount = 0; long lastReceiveCounterResetTime = CurrentTime; try { while (true) { long currentTime = CurrentTime; long interval = currentTime - lastReceiveCounterResetTime; if (interval > 1000) { lastReceiveCounterResetTime = currentTime; Logit("Received " + receiveCount + " messages" + " in the last " + interval + "ms"); receiveCount = 0; } Debug.Assert(rdpConnection != null, "In TestRDPClient.RunIncoming, rdpConnection is null!"); IncomingMessage inMessage = new IncomingMessage(rdpConnection); receiveCount++; Trace.TraceInformation("TestRDPClient got message '" + inMessage.ReadString()); } } catch(Exception e) { Logit("TestRDPClient.RunIncoming got error: " + e.ToString()); } }