private void FMulticast_FormClosed(object sender, FormClosedEventArgs e) { if (_Receiver != null) { _Receiver.Dispose(); } _Receiver = null; }
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}"); } }
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; }