Beispiel #1
0
 private void FMulticast_FormClosed(object sender, FormClosedEventArgs e)
 {
     if (_Receiver != null)
     {
         _Receiver.Dispose();
     }
     _Receiver = null;
 }
Beispiel #2
0
        void Server_Started(object sender, AsyncUdpEventArgs e)
        {
            CastReceiver cr = sender as CastReceiver;

            WriteLog($"伺服器已於 {cr.LocalEndPort} 啟動");
            WriteLog("已加入監聽的群組:");
            foreach (System.Net.Sockets.MulticastOption mo in cr.JoinedGroups)
            {
                WriteLog($"-> {mo.Group}");
            }
        }
Beispiel #3
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(cbIP.Text))
            {
                return;
            }
            _Receiver = new CastReceiver(new IPEndPoint(IPAddress.Parse(cbIP.Text), Convert.ToInt32(txtPort.Text)));
            _Receiver.DataReceived += new EventHandler <AsyncUdpEventArgs>(Server_DataReceived);
            _Receiver.Started      += new EventHandler <AsyncUdpEventArgs>(Server_Started);
            _Receiver.Shutdowned   += new EventHandler <AsyncUdpEventArgs>(Server_Shutdowned);
            string[] ips = txtIP.Text.Split(',');
            foreach (string ip in ips)
            {
                if (ip.Length == 0)
                {
                    continue;
                }
                _Receiver.JoinMulticastGroup(ip);
            }
            _Receiver.Start();

            btnStart.Enabled = false;
            btnStop.Enabled  = true;
        }