티스토리 뷰

반응형

안녕하세요 드레이크입니다^^

 

프로그램은 하나인데 메인보드의 종류가 여러개일때 네트워크 설정 및 통신에 문제가 생길 수 있습니다.

 

그럴때 프로그램 시작시 네트워크 디바이스명을 알아오게 해서 동작하게 하면 이 문제를 해결할 수 있습니다! 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <ifaddrs.h>
 
void GetNetworkDeviceName()
{
    int32_t i = 1;
    struct ifaddrs *addrs,*tmp;
 
    bzero(Cache.NetworkDeviceName, sizeof(Cache.NetworkDeviceName));
 
    getifaddrs(&addrs);
    tmp = addrs;
 
    while (tmp)
    {
        if (tmp->ifa_addr && tmp->ifa_addr->sa_family == AF_PACKET) {
            printlog("알아온 네트워크 디바이스명 : %s", tmp->ifa_name);
 
            // 2번째 이름을 보관한다.
            if(i == 2)  strcpy(Cache.NetworkDeviceName, tmp->ifa_name);
        }
 
        tmp = tmp->ifa_next;
 
        i ++;
    }
 
    freeifaddrs(addrs);
}
cs
반응형
댓글
반응형
최근에 올라온 글
Total
Today
Yesterday