Ejemplo n.º 1
0
        protected void OnOperationRequest(object sender, MessageReceivedEventArgs e)
        {
            var peer = ConnectionCollection.GetPeers <IClientPeer>().FirstOrDefault(c => c.Client == e.Client);

            subServerHandlerList.Peer = peer;

            Console.WriteLine("Handling operation request");

            using (var message = e.GetMessage()) {
                using (var reader = message.GetReader()) {
                    var parameters =
                        MessageSerializerService.DeserializeObjectOfType <Dictionary <byte, object> >(reader.ReadString());
                    subServerHandlerList.HandleMessage(new Request((byte)e.Tag,
                                                                   parameters.ContainsKey(SubCodeParameterCode)
                            ? (int?)Convert.ToInt32(parameters[SubCodeParameterCode])
                            : null, parameters), this);
                }
            }
        }