From f9e571b41ab174696dab2bc7e9302203596dc3bc Mon Sep 17 00:00:00 2001 From: dogmaphobic Date: Sat, 23 May 2015 14:28:51 -0400 Subject: [PATCH] Fixing UDP connections issues. --- src/comm/UDPLink.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/comm/UDPLink.cc b/src/comm/UDPLink.cc index 60027cf0b..447c26aa0 100644 --- a/src/comm/UDPLink.cc +++ b/src/comm/UDPLink.cc @@ -218,6 +218,7 @@ bool UDPLink::_disconnect(void) this->wait(); if (_socket) { // Make sure delete happen on correct thread + _socket->close(); _socket->deleteLater(); _socket = NULL; emit disconnected(); @@ -250,10 +251,12 @@ bool UDPLink::_hardwareConnect() QHostAddress host = QHostAddress::Any; _socket = new QUdpSocket(); _socket->setProxy(QNetworkProxy::NoProxy); - _connectState = _socket->bind(host, _config->localPort()); - QObject::connect(_socket, SIGNAL(readyRead()), this, SLOT(readBytes())); + _connectState = _socket->bind(host, _config->localPort(), QAbstractSocket::ReuseAddressHint); if (_connectState) { + QObject::connect(_socket, SIGNAL(readyRead()), this, SLOT(readBytes())); emit connected(); + } else { + emit communicationError("UDP Link Error", "Error binding UDP port"); } return _connectState; } -- 2.22.0