protected override void OnCleaningUp() { _logger.Trace("Extending clean up of base class"); OnCleaningUpPartial(); if (_udpSender != null) { _udpSender.DataSent -= Sender_DataSent; _udpSender.Shutdown(); _udpSender = null; } if (Socket != null) { Socket.DataSent -= Sender_DataSent; } lock (_messageQueue) { // reset _isSending = false; _messageQueue.Clear(); } }
protected override void OnConnectAsync(IPEndPoint remoteEndPoint) { _logger.Trace("Extending initialization of base class"); // create corresponding UDP socket _udpSender = CommunicationFactory.CreateUdpSocket(); _udpSender.Initialize(null, 0, remoteEndPoint.Address.ToString(), remoteEndPoint.Port); // we don't know and don't need a local endpoint for the client _udpSender.DataSent += Sender_DataSent; Socket.DataSent += Sender_DataSent; }