take multiple IP addresses from argument, configured by UDP_SOCKET_MAX

Usage: xlxd callsign xlxdip ambedip (xlxdip2) ... (xlxdipX)

* X: UDP_SOCKET_MAX
pull/189/head
SASANO Takayoshi 5 years ago
parent f9456bcf58
commit 41dcab670a

@ -58,7 +58,7 @@ public:
// settings // settings
void SetCallsign(const CCallsign &callsign) { m_Callsign = callsign; } void SetCallsign(const CCallsign &callsign) { m_Callsign = callsign; }
const CCallsign &GetCallsign(void) const { return m_Callsign; } const CCallsign &GetCallsign(void) const { return m_Callsign; }
void SetListenIp(int i, const CIp &ip) { if (i < UDP_SOCKET_MAX) m_Ip[i] = ip; } void SetListenIp(int i, const CIp &ip) { m_Ip[i] = ip; }
void SetTranscoderIp(const CIp &ip) { m_AmbedIp = ip; } void SetTranscoderIp(const CIp &ip) { m_AmbedIp = ip; }
const CIp &GetListenIp(void) const { return m_Ip[0]; } const CIp &GetListenIp(void) const { return m_Ip[0]; }
const CIp &GetListenIp(int i) const { return m_Ip[i]; } const CIp &GetListenIp(int i) const { return m_Ip[i]; }

@ -89,7 +89,12 @@ int main(int argc, const char * argv[])
// check arguments // check arguments
if ( argc < 4 ) if ( argc < 4 )
{ {
std::cout << "Usage: xlxd callsign xlxdip ambedip" << std::endl; std::cout << "Usage: xlxd callsign xlxdip ambedip";
for ( int i = 1; i < UDP_SOCKET_MAX; i++ )
{
std::cout << " (xlxdip" << i + 1 << ")";
}
std::cout << std::endl;
std::cout << "example: xlxd XLX999 192.168.178.212 127.0.0.1" << std::endl; std::cout << "example: xlxd XLX999 192.168.178.212 127.0.0.1" << std::endl;
return 1; return 1;
} }
@ -101,7 +106,10 @@ int main(int argc, const char * argv[])
g_Reflector.SetCallsign(argv[1]); g_Reflector.SetCallsign(argv[1]);
g_Reflector.SetListenIp(0, CIp(argv[2])); g_Reflector.SetListenIp(0, CIp(argv[2]));
g_Reflector.SetTranscoderIp(CIp(CIp(argv[3]))); g_Reflector.SetTranscoderIp(CIp(CIp(argv[3])));
g_Reflector.SetListenIp(1, ( argc >= 5 ) ? CIp(argv[4]) : CIp()); for ( int i = 1, ac = 4; i < UDP_SOCKET_MAX; i++, ac++ )
{
g_Reflector.SetListenIp(i, ( ac < argc ) ? CIp(argv[ac]) : CIp());
}
// and let it run // and let it run
if ( !g_Reflector.Start() ) if ( !g_Reflector.Start() )

Loading…
Cancel
Save

Powered by TurnKey Linux.