Refinitiv / Real-Time-SDK

Other
191 stars 128 forks source link

ServerList/Server/InterfaceName in EmaConfig.xml cannot find interface #212

Open Yanpas opened 2 years ago

Yanpas commented 2 years ago

I set InterfaceNme to eth0, which causes error. Library uses gethostbyname but it must get the interface address through ioctl.

d84833 commented 2 years ago

Here: https://github.com/Refinitiv/Real-Time-SDK/blob/97b4aa5d18ea6446ac9bdf48c630835241b8d8eb/Cpp-C/Eta/Impl/Transport/ripcutils.c#L1206

You should replace call from rsslGetHostByName to getifaddrs: https://man7.org/linux/man-pages/man3/getifaddrs.3.html

L-Karchevska commented 2 years ago

@Yanpas Thank you for bringing up this issue, we will look into it.

dmykhailishen commented 2 years ago

@Yanpas, Thank you for your report. In the current implementation, the parameter 'InterfaceName' takes only the IP address or hostname of the local network (you can find a detailed description in EMACPP_ConfigGuide.pdf). We are inclined to count your report as an enhancement request. This functionality will be improved in our further versions. Thank you.

d84833 commented 2 years ago

Thanks! We've a lot of servers and configuring IP everywhere is tedious, if we could place bond4 everywhere things were more simple and straightforward.