示例#1
0
        private void ProcessReceived(IPEndPoint source, byte[] bytes)
        {
            string jsonData = Encoding.ASCII.GetString(bytes);
                        
            Packet packet = JsonConvert.DeserializeObject<Packet>(jsonData);

            if (PacketReceived != null)
            {
                PacketReceivedArgs args = new PacketReceivedArgs() 
                { 
                    IpAddress = source.Address.ToString(), 
                    Packet = packet 
                };
                PacketReceived(this, args);
            }
        }
示例#2
0
        private void ProcessReceived(IPEndPoint source, byte[] bytes)
        {
            string jsonData = Encoding.ASCII.GetString(bytes);

            Packet packet = JsonConvert.DeserializeObject <Packet>(jsonData);

            if (PacketReceived != null)
            {
                PacketReceivedArgs args = new PacketReceivedArgs()
                {
                    IpAddress = source.Address.ToString(),
                    Packet    = packet
                };
                PacketReceived(this, args);
            }
        }
示例#3
0
        private void ProcessReceived(IPEndPoint source, byte[] bytes)
        {
            string jsonData = Encoding.ASCII.GetString(bytes);

            JavaScriptSerializer serializer = new JavaScriptSerializer();
            Packet packet = serializer.Deserialize <Packet>(jsonData);

            if (PacketReceived != null)
            {
                PacketReceivedArgs args = new PacketReceivedArgs()
                {
                    IpAddress = source.Address.ToString(),
                    Packet    = packet
                };
                PacketReceived(this, args);
            }
        }
示例#4
0
        private void ProcessReceived(IPEndPoint source, byte[] bytes)
        {
            string jsonData = Encoding.ASCII.GetString(bytes);

            JavaScriptSerializer serializer = new JavaScriptSerializer();
            Packet packet = serializer.Deserialize<Packet>(jsonData);

            if (PacketReceived != null)
            {
                PacketReceivedArgs args = new PacketReceivedArgs()
                {
                    IpAddress = source.Address.ToString(),
                    Packet = packet
                };
                PacketReceived(this, args);
            }
        }
        private void HandlePacketReceived(object sender, PacketReceivedArgs ea)
        {
            Type type = typeof(Remoting.Data.Transfer.Machine);
            if (ea.Packet.Descriptor.Equals(type.FullName))
            {
                Remoting.Data.Transfer.Machine dto = JsonConvert.DeserializeObject<Remoting.Data.Transfer.Machine>(ea.Packet.Payload);

                if ((InstanceManager.ThisPCInstance != null) &&
                    (InstanceManager.ThisPCInstance.IpAddress.Equals(ea.IpAddress)))
                    //don't process packets broadcast by This PC
                    //for instance we don't broadcast out hashrate for Network Devices and
                    //so don't want to process the packet
                    return;

                //System.InvalidOperationException: Invoke or BeginInvoke cannot be called on a control until the window handle has been created.
                if (Context == null) return;

                Context.BeginInvoke((Action)(() =>
                {
                    //code to update UI
                    if (RemoteInstanceModified != null)
                        RemoteInstanceModified(this, new RemotingEventArgs
                        {
                            IpAddress = ea.IpAddress,
                            Machine = dto
                        });
                }), null);
            }
        }