예제 #1
0
파일: SnoopMain.cs 프로젝트: ming-hai/ACN
        private void StartTransport()
        {
            ISnoopTransport snoopTransport = Transport as ISnoopTransport;

            if (snoopTransport != null)
            {
                snoopTransport.LocalAdapter = SelectedNetworkAdapter.IpAddress;
                snoopTransport.SubnetMask   = selectedNetworkAdapter.SubnetMask;
            }

            try
            {
                Transport.Start();

                IRdmSocket socket = Transport.Socket;
                socket.NewRdmPacket  += transport_NewRdmPacket;
                socket.RdmPacketSent += transport_NewRdmPacket;

                RdmReliableSocket reliableSocket = socket as RdmReliableSocket;
                if (reliableSocket != null)
                {
                    reliableSocket.PropertyChanged += new PropertyChangedEventHandler(reliableSocket_PropertyChanged);
                    UpdatePacketCount(reliableSocket);
                }
            }
            catch (SocketException)
            {
                //oops
            }
        }
예제 #2
0
        public RdmReliableSocket(IRdmSocket socket)
        {
            this.socket = socket;

            socket.NewRdmPacket  += new EventHandler <NewPacketEventArgs <RdmPacket> >(socket_NewRdmPacket);
            socket.RdmPacketSent += new EventHandler <NewPacketEventArgs <RdmPacket> >(socket_RdmPacketSent);

            retryTimer = new Timer(new TimerCallback(Retry));
        }
예제 #3
0
        public RdmDeviceBroker(IRdmSocket socket, UId id, RdmEndPoint address)
        {
            Id          = id;
            Address     = address;
            this.socket = socket;

            RegisterHandlers(this);

            socket.NewRdmPacket += new EventHandler <NewPacketEventArgs <RdmPacket> >(socket_NewRdmPacket);
        }
예제 #4
0
        public RdmDeviceModel(TreeNode node, IRdmSocket socket, UId id, RdmEndPoint address)
        {
            CreateHandle();

            broker = new RdmDeviceBroker(socket, id, address);

            Node     = node;
            Node.Tag = this;

            broker.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(RdmDeviceModel_PropertyChanged);

            UpdateNodeName();
        }
예제 #5
0
 public void UnBind(IRdmSocket socket)
 {
     socket.NewRdmPacket  -= Socket_NewRdmPacket;
     socket.RdmPacketSent -= socket_RdmPacketSent;
 }
예제 #6
0
 public void Bind(IRdmSocket socket)
 {
     socket.NewRdmPacket  += Socket_NewRdmPacket;
     socket.RdmPacketSent += socket_RdmPacketSent;
 }