diff --git a/NXDNGateway/Makefile b/NXDNGateway/Makefile
index c989240..6c61ce1 100644
--- a/NXDNGateway/Makefile
+++ b/NXDNGateway/Makefile
@@ -2,7 +2,7 @@ CC = cc
CXX = c++
# Use the following CFLAGS and LIBS if you don't want to use gpsd.
-CFLAGS = -g -O3 -Wall -DHAVE_LOG_H -std=c++0x -pthread
+CFLAGS = -g -O3 -Wall -DHAVE_LOG_H -DUDP_SOCKET_MAX=2 -std=c++0x -pthread
LIBS = -lpthread
# Use the following CFLAGS and LIBS if you do want to use gpsd.
diff --git a/NXDNGateway/NXDNGateway.vcxproj b/NXDNGateway/NXDNGateway.vcxproj
index 93b6ed9..6e9f282 100644
--- a/NXDNGateway/NXDNGateway.vcxproj
+++ b/NXDNGateway/NXDNGateway.vcxproj
@@ -87,7 +87,7 @@
Level3
Disabled
- HAVE_LOG_H;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ HAVE_LOG_H;UDP_SOCKET_MAX=2;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
Console
@@ -101,7 +101,7 @@
Level3
Disabled
- HAVE_LOG_H;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ HAVE_LOG_H;UDP_SOCKET_MAX=2;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
Console
@@ -117,7 +117,7 @@
MaxSpeed
true
true
- HAVE_LOG_H;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ HAVE_LOG_H;UDP_SOCKET_MAX=2;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
Console
@@ -135,7 +135,7 @@
MaxSpeed
true
true
- HAVE_LOG_H;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ HAVE_LOG_H;UDP_SOCKET_MAX=2;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
Console
diff --git a/NXDNGateway/NXDNNetwork.cpp b/NXDNGateway/NXDNNetwork.cpp
index fa2b8fb..a039eda 100644
--- a/NXDNGateway/NXDNNetwork.cpp
+++ b/NXDNGateway/NXDNNetwork.cpp
@@ -26,9 +26,12 @@
CNXDNNetwork::CNXDNNetwork(unsigned int port, const std::string& callsign, bool debug) :
m_callsign(callsign),
-m_socket(port),
+m_socket(),
+m_port(port),
m_debug(debug)
{
+ assert(port > 0U);
+
m_callsign.resize(10U, ' ');
}
@@ -40,7 +43,11 @@ bool CNXDNNetwork::open()
{
LogInfo("Opening NXDN network connection");
- return m_socket.open();
+ bool ret = m_socket.open(0, PF_INET, "", m_port);
+ if (!ret)
+ return false;
+
+ return m_socket.open(1, PF_INET6, "", m_port);
}
bool CNXDNNetwork::writeData(const unsigned char* data, unsigned int length, unsigned short srcId, unsigned short dstId, bool grp, const sockaddr_storage& addr, unsigned int addrLen)
diff --git a/NXDNGateway/NXDNNetwork.h b/NXDNGateway/NXDNNetwork.h
index 1ce4cde..55a706c 100644
--- a/NXDNGateway/NXDNNetwork.h
+++ b/NXDNGateway/NXDNNetwork.h
@@ -42,9 +42,10 @@ public:
void close();
private:
- std::string m_callsign;
- CUDPSocket m_socket;
- bool m_debug;
+ std::string m_callsign;
+ CUDPSocket m_socket;
+ unsigned int m_port;
+ bool m_debug;
};
#endif
diff --git a/NXDNGateway/Version.h b/NXDNGateway/Version.h
index 3118d15..c5e390b 100644
--- a/NXDNGateway/Version.h
+++ b/NXDNGateway/Version.h
@@ -19,6 +19,6 @@
#if !defined(VERSION_H)
#define VERSION_H
-const char* VERSION = "20201102";
+const char* VERSION = "20201104";
#endif