mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-22 16:25:45 +08:00
set INADDR_ANY/IN6ADDR_ANY_INIT address string to m_socket
when CUDPSocket::open() is called with m_address (in CUDPSocket) is nothing, IPv4 socket is created by "0.0.0.0" (INADDR_ANY) address. This causes a problem that DMRGateway cannot connect to reflector on IPv6. To choose default INADDR_ANY/IN6ADDR_ANY_INIT address, added open(address_family) in UDPSocket.cpp. Following code sets address string at construction, not modified. NXDNNetwork.cpp POCSAGNetwork.cpp YSFNetwork.cpp Other codes does not set, modified open() -> open(address_family) DMRNetwork.cpp DStarNetwork.cpp MMDVMHost.cpp MobileGPS.cpp P25Network.cpp RemoteCommand.cpp RemoteControl.cpp I think there is more clever method, but I have no other idea. Maybe IPv6 support for digital radio works, but RemoteControl can work IPv4 only.
This commit is contained in:
@@ -110,7 +110,7 @@ bool CP25Network::open()
|
||||
if (CUDPSocket::isnone(m_address))
|
||||
return false;
|
||||
|
||||
return m_socket.open();
|
||||
return m_socket.open(m_address.ss_family);
|
||||
}
|
||||
|
||||
bool CP25Network::writeLDU1(const unsigned char* ldu1, const CP25Data& control, const CP25LowSpeedData& lsd, bool end)
|
||||
|
||||
Reference in New Issue
Block a user