Index: src/plugin/src/xplra/ListenThread.cc
===================================================================
--- src/plugin/src/xplra/ListenThread.cc	(revision 61)
+++ src/plugin/src/xplra/ListenThread.cc	(revision 104)
@@ -1,3 +1,3 @@
-// Copyright (c) 2013 by István Váradi
+// Copyright (c) 2022 by István Váradi
 
 // This file is part of XPLRA, a remote-access plugin for X-Plane
@@ -35,4 +35,6 @@
 #include <hu/varadiistvan/scpl/io/LocalServerSocket.h>
 #include <hu/varadiistvan/scpl/io/LocalAcceptor.h>
+#include <hu/varadiistvan/scpl/io/TCPServerSocket.h>
+#include <hu/varadiistvan/scpl/io/TCPAcceptor.h>
 #include <hu/varadiistvan/xplcommon/Util.h>
 
@@ -43,4 +45,6 @@
 using hu::varadiistvan::scpl::io::LocalServerSocket;
 using hu::varadiistvan::scpl::io::LocalAcceptor;
+using hu::varadiistvan::scpl::io::TCPServerSocket;
+using hu::varadiistvan::scpl::io::TCPAcceptor;
 using hu::varadiistvan::xplcommon::Util;
 
@@ -51,11 +55,22 @@
     Util::debug("xplra::ListenThread::run: started\n");
 
-    LocalServerSocket socket("xplra", &waiter);
-    LocalAcceptor& acceptor = socket.getAcceptor();
-    while(!quitEvent.check() && !quitEvent.failed() && !acceptor.failed()) {
-        while (acceptor.accept()) {
+    LocalServerSocket localSocket("xplra", &waiter);
+    LocalAcceptor& localAcceptor = localSocket.getAcceptor();
+
+    TCPServerSocket tcpSocket(defaultTCPPort, &waiter);
+    TCPAcceptor& tcpAcceptor = tcpSocket.getAcceptor();
+
+    while(!quitEvent.check() && !quitEvent.failed() &&
+          !localAcceptor.failed() && !tcpAcceptor.failed()) {
+        while (localAcceptor.accept()) {
             ServerThread* serverThread = new ServerThread(*this,
                                                           requestQueue,
-                                                          acceptor);
+                                                          localAcceptor);
+            serverThread->start();
+        }
+        while (tcpAcceptor.accept()) {
+            ServerThread* serverThread = new ServerThread(*this,
+                                                          requestQueue,
+                                                          tcpAcceptor);
             serverThread->start();
         }
Index: src/plugin/src/xplra/ListenThread.h
===================================================================
--- src/plugin/src/xplra/ListenThread.h	(revision 46)
+++ src/plugin/src/xplra/ListenThread.h	(revision 104)
@@ -56,4 +56,10 @@
 class ListenThread : public hu::varadiistvan::scpl::Thread
 {
+public:
+    /**
+     * The default TCP port number ("XR")
+     */
+    static const unsigned short defaultTCPPort = 0x5852;
+
 private:
     /**
Index: src/plugin/src/xplra/Makefile.am
===================================================================
--- src/plugin/src/xplra/Makefile.am	(revision 91)
+++ src/plugin/src/xplra/Makefile.am	(revision 104)
@@ -72,5 +72,5 @@
 win_xpl_SOURCES=$(SRCS)
 
-win_xpl_LDADD=$(LIBXPLCOMMON_LIBS) $(VSCPL_LIBS)
+win_xpl_LDADD=$(LIBXPLCOMMON_LIBS) $(VSCPL_LIBS) -lws2_32
 win_xpl_LDADD+=@XPSDK_LDFLAGS@
 if TARGET_API_WIN64
Index: src/plugin/src/xplra/ServerThread.cc
===================================================================
--- src/plugin/src/xplra/ServerThread.cc	(revision 81)
+++ src/plugin/src/xplra/ServerThread.cc	(revision 104)
@@ -54,5 +54,5 @@
 using xplra::ServerThread;
 
-using hu::varadiistvan::scpl::io::LocalAcceptor;
+using hu::varadiistvan::scpl::io::BufferedStreamAcceptor;
 using hu::varadiistvan::scpl::Mutex;
 using hu::varadiistvan::xplcommon::Util;
@@ -97,8 +97,9 @@
 
 ServerThread::ServerThread(ListenThread& listenThread,
-                           RequestQueue& requestQueue, LocalAcceptor& acceptor) :
+                           RequestQueue& requestQueue,
+                           BufferedStreamAcceptor& acceptor) :
     listenThread(listenThread),
     requestQueue(requestQueue),
-    bufferedStream(acceptor.getSocket(&waiter)),
+    bufferedStream(acceptor.getAcceptedBufferedStream(&waiter)),
     stream(*bufferedStream),
     nextGetMultiRequestID(1),
Index: src/plugin/src/xplra/ServerThread.h
===================================================================
--- src/plugin/src/xplra/ServerThread.h	(revision 81)
+++ src/plugin/src/xplra/ServerThread.h	(revision 104)
@@ -38,5 +38,5 @@
 #include <hu/varadiistvan/scpl/io/BufferedStream.h>
 #include <hu/varadiistvan/scpl/io/DataStream.h>
-#include <hu/varadiistvan/scpl/io/LocalAcceptor.h>
+#include <hu/varadiistvan/scpl/io/BufferedStreamAcceptor.h>
 
 #include <hu/varadiistvan/scpl/Mutex.h>
@@ -154,5 +154,5 @@
      */
     ServerThread(ListenThread& listenThread, RequestQueue& requestQueue,
-                 hu::varadiistvan::scpl::io::LocalAcceptor& acceptor);
+                 hu::varadiistvan::scpl::io::BufferedStreamAcceptor& acceptor);
 
     /**
