コード例 #1
0
        public override void reciever(IPEndPoint from, byte[] data)
        {
            VSCAnswerHeader header;
            string          deviceIP, deviceModel, deviceSerial;
            IPAddress       ip;

            if (data.Length < typeof(VSCAnswerHeader).StructLayoutAttribute.Size)
            {
                Logger.getInstance().WriteLine(Logger.DebugLevel.Warn, String.Format("Warning: VStartCam.reciever(): Packet has wrong size = {0} (packet is too small)", data.Length));
                return;
            }

            header = data.GetStruct <VSCAnswerHeader>();

            if (NetworkUtils.NetworkToHostOrder32(header.answerMagic) != answerMagic)
            {
                Logger.getInstance().WriteLine(Logger.DebugLevel.Warn, String.Format("Warning: VStartCam.reciever(): Packet has wrong header."));
                return;
            }

            deviceIP     = Encoding.UTF8.GetString(header.ip);
            deviceModel  = Encoding.UTF8.GetString(header.name);
            deviceSerial = Encoding.UTF8.GetString(header.serial);

            if (IPAddress.TryParse(deviceIP, out ip))
            {
                viewer.deviceFound(name, 1, ip, deviceModel, deviceSerial);
            }
            else
            {
                viewer.deviceFound(name, 1, from.Address, deviceModel, deviceSerial);
            }
        }
コード例 #2
0
        private IPAddress readAnswer_A(byte[] data, ref int position, int dataLen)
        {
            UInt32 ipVal;

            if (dataLen != 4)
            {
                Logger.getInstance().WriteLine(Logger.DebugLevel.Warn, "Warning: readAnswer_A(): Invalid address size!");
                return(IPAddress.Any);
            }

            ipVal = NetworkUtils.NetworkToHostOrder32(readUInt32(data, ref position));
            return(new IPAddress(ipVal));
        }
コード例 #3
0
ファイル: mDNS.cs プロジェクト: EvilMcStevil/UniversalScanner
        private IPAddress readAnswer_A(byte[] data, ref int position, int dataLen)
        {
            UInt32 ipVal;

            if (dataLen != 4)
            {
                Logger.LogWarning("Warning: readAnswer_A(): Invalid address size!");
                return(IPAddress.Any);
            }

            ipVal = NetworkUtils.NetworkToHostOrder32(readUInt32(data, ref position));
            return(new IPAddress(ipVal));
        }