feature:support for connecting horizon

This commit is contained in:
Livox-SDK
2019-12-19 17:11:48 +08:00
parent da19f31bc4
commit f5eaa30bc8
+12 -10
View File
@@ -110,17 +110,19 @@ bool FindLocalIp(const struct sockaddr_in &client_addr, uint32_t &local_ip) {
IP_ADAPTER_INFO *pAdapter = reinterpret_cast<IP_ADAPTER_INFO *>(pAdapterInfo.get()); IP_ADAPTER_INFO *pAdapter = reinterpret_cast<IP_ADAPTER_INFO *>(pAdapterInfo.get());
if (NO_ERROR == dlRetVal && pAdapter != NULL) { if (NO_ERROR == dlRetVal && pAdapter != NULL) {
while (GetAdapterState(pAdapter)) { while (pAdapter != NULL) {
std::string str_ip = pAdapter->IpAddressList.IpAddress.String; if (GetAdapterState(pAdapter)) {
std::string str_mask = pAdapter->IpAddressList.IpMask.String; std::string str_ip = pAdapter->IpAddressList.IpAddress.String;
ULONG host_ip = inet_addr(const_cast<char *>(str_ip.c_str())); std::string str_mask = pAdapter->IpAddressList.IpMask.String;
ULONG host_mask = inet_addr(const_cast<char *>(str_mask.c_str())); ULONG host_ip = inet_addr(const_cast<char *>(str_ip.c_str()));
ULONG host_mask = inet_addr(const_cast<char *>(str_mask.c_str()));
if ((host_ip & host_mask) == if ((host_ip & host_mask) ==
(client_addr.sin_addr.S_un.S_addr & host_mask)) { (client_addr.sin_addr.S_un.S_addr & host_mask)) {
local_ip = host_ip; local_ip = host_ip;
found = true; found = true;
break; break;
}
} }
pAdapter = pAdapter->Next; pAdapter = pAdapter->Next;
} }