diff --git a/README.md b/README.md
index 678d0b6..867ce7e 100644
--- a/README.md
+++ b/README.md
@@ -24,6 +24,8 @@ QBERcon - BattlEye Rcon connector for Qt5 C++
     QBERcon::ERROR_LOGIN_FAILED             // Wrong password
     QBERcon::ERROR_KEEPALIVE_EXCEEDED       // Timeout
     QBERcon::ERROR_MISSING_LOGIN_DATA       // No login/password specified
+    QBERcon::ERROR_DNS_ERRROR               // DNS Lookup error
+    QBERcon::ERROR_SOCKET_ERRROR            // Socket error
 ```
 
 Not fully tested. Use at your own risk. 
\ No newline at end of file
diff --git a/src/QBERcon.cpp b/src/QBERcon.cpp
index 7864142..92df92d 100644
--- a/src/QBERcon.cpp
+++ b/src/QBERcon.cpp
@@ -40,6 +40,7 @@ void QBERcon::Client::connectToServer(QString password, QString hostname, quint1
 void QBERcon::Client::hostLookupFinished() {
     if (dns->error() != QDnsLookup::NoError) {
         qDebug() << "DNS Lookup failed" << dns->error() << dns->errorString();
+        emit error(QBERcon::ERROR_DNS_ERRROR);
         return;
     }
     if(dns->hostAddressRecords().size() > 0) {
@@ -94,6 +95,7 @@ void QBERcon::Client::socketDisconnected() {
 
 void QBERcon::Client::socketError(QAbstractSocket::SocketError err) {
     qDebug() << "QAbstractSocket::SocketError:" << err;
+    emit error(QBERcon::ERROR_SOCKET_ERRROR);
     disconnectFromServer();
 }
 
diff --git a/src/QBERcon.h b/src/QBERcon.h
index d1d7167..15621c4 100644
--- a/src/QBERcon.h
+++ b/src/QBERcon.h
@@ -18,6 +18,8 @@ enum RconError {
     ERROR_LOGIN_FAILED,
     ERROR_KEEPALIVE_EXCEEDED,
     ERROR_MISSING_LOGIN_DATA,
+    ERROR_DNS_ERRROR,
+    ERROR_SOCKET_ERRROR
 };