예제 #1
0
        // Update is called once per frame
        public void Update()
        {
            if (socketDiscovery == null || !socketDiscovery.IsBound)
            {
                return;
            }
            int waitingData = socketDiscovery.Available;

            if (waitingData < 1)
            {
                return;
            }

            byte[]   recv_buffer = new Byte[waitingData];
            EndPoint remoteEP    = new IPEndPoint(IPAddress.Any, 0);
            Int32    bytes       = socketDiscovery.ReceiveFrom(recv_buffer, ref remoteEP);
            String   recvStr     = System.Text.Encoding.ASCII.GetString(recv_buffer, 0, bytes);

            DiscoveryInfo info = new DiscoveryInfo(recvStr, remoteEP);
            IPEndPoint    ipep = remoteEP as IPEndPoint;

            if (ipep != null)
            {
                dicoveryMap[ipep.Address.GetHashCode()] = info;
                // Fire discover event
                OnDiscover(EventArgs.Empty);
            }
        }
예제 #2
0
 public frmMonitor(DiscoveryInfo info)
 {
     robinInfo = info;
     InitializeComponent();
 }