public static void AttachDataReceivedListenerSO(IDcsBiosDataListener iDcsBiosDataListener) { if (_dcsBIOSInstance != null) { _dcsBIOSInstance._dcsProtocolParser.OnDcsDataAddressValue += iDcsBiosDataListener.DcsBiosDataReceived; } }
public DCSBIOS(IDcsBiosDataListener iDcsBiosDataListener, string ipFromUdp, string ipToUdp, int portFromUdp, int portToUdp, DcsBiosNotificationMode dcsNoficationMode) { IPAddress ipAddress; _iDcsBiosDataListener = iDcsBiosDataListener; if (!string.IsNullOrEmpty(ipFromUdp) && IPAddress.TryParse(ipFromUdp, out ipAddress)) { _dcsbiosReceiveFromIPUdp = ipFromUdp; } if (!string.IsNullOrEmpty(ipToUdp) && IPAddress.TryParse(ipToUdp, out ipAddress)) { _dcsbiosSendToIPUdp = ipToUdp; } if (portFromUdp > 0) { _dcsbiosReceivePortUdp = portFromUdp; } if (portToUdp > 0) { _dcsbiosSendPortUdp = portToUdp; } _dcsBiosNotificationMode = dcsNoficationMode; //_tcpIpPort = tcpIpPort; _dcsBIOSInstance = this; }
public void Attach(IDcsBiosDataListener iDcsBiosDataListener) { //Try to remove it first so not to get duplicate OnDcsDataAddressValue -= iDcsBiosDataListener.DcsBiosDataReceived; OnDcsDataAddressValue += iDcsBiosDataListener.DcsBiosDataReceived; }
public void DetachDataReceivedListener(IDcsBiosDataListener iDcsBiosDataListener) { if (_dcsProtocolParser == null) { return; } _dcsProtocolParser.OnDcsDataAddressValue -= iDcsBiosDataListener.DcsBiosDataReceived; }
public DCSBIOS(IDcsBiosDataListener iDcsBiosDataListener, string ipFromUdp, string ipToUdp, int portFromUdp, int portToUdp, DcsBiosNotificationMode dcsNoficationMode) { IPAddress ipAddress; _iDcsBiosDataListener = iDcsBiosDataListener; if (!string.IsNullOrEmpty(ipFromUdp) && IPAddress.TryParse(ipFromUdp, out ipAddress)) { _dcsbiosReceiveFromIPUdp = ipFromUdp; } if (!string.IsNullOrEmpty(ipToUdp) && IPAddress.TryParse(ipToUdp, out ipAddress)) { _dcsbiosSendToIPUdp = ipToUdp; } if (portFromUdp > 0) { _dcsbiosReceivePortUdp = portFromUdp; } if (portToUdp > 0) { _dcsbiosSendPortUdp = portToUdp; } _dcsBiosNotificationMode = dcsNoficationMode; _dcsProtocolParser = DCSBIOSProtocolParser.GetParser(); _dcsProtocolParser.Attach(_iDcsBiosDataListener); _ipEndPointReceiverUdp = new IPEndPoint(IPAddress.Any, ReceivePort); _ipEndPointSenderUdp = new IPEndPoint(IPAddress.Parse(SendToIp), SendPort); _udpReceiveClient = new UdpClient(); _udpReceiveClient.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); _udpReceiveClient.Client.Bind(_ipEndPointReceiverUdp); _udpReceiveClient.JoinMulticastGroup(IPAddress.Parse(ReceiveFromIp)); _udpSendClient = new UdpClient(); _udpSendClient.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); _udpSendClient.EnableBroadcast = true; //_tcpIpPort = tcpIpPort; _dcsBIOSInstance = this; }
public void Detach(IDcsBiosDataListener iDcsBiosDataListener) { OnDcsDataAddressValue -= iDcsBiosDataListener.DcsBiosDataReceived; }
public static void DetachDataListener(IDcsBiosDataListener dcsBiosDataListener) { OnDcsDataAddressValue -= dcsBiosDataListener.DcsBiosDataReceived; }
public void DetachDataReceivedListener(IDcsBiosDataListener iDcsBiosDataListener) { _dcsProtocolParser.OnDcsDataAddressValue -= iDcsBiosDataListener.DcsBiosDataReceived; }