티스토리 뷰
반응형
안녕하세요 드레이크입니다^^
프로그램은 하나인데 메인보드의 종류가 여러개일때 네트워크 설정 및 통신에 문제가 생길 수 있습니다.
그럴때 프로그램 시작시 네트워크 디바이스명을 알아오게 해서 동작하게 하면 이 문제를 해결할 수 있습니다!
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 |
반응형
'프로그래밍 > C, C++' 카테고리의 다른 글
modbus tcp Slave (libmodbus 라이브러리) (0) | 2022.09.15 |
---|---|
localtime_r로 어제 날짜 구하기 (0) | 2021.08.05 |
modbus tcp Master (libmodbus 라이브러리) (0) | 2020.03.26 |
도메인 이름만으로 서버 접속하기 (0) | 2019.08.09 |
윈도우 TCP 서버 소켓 생성 (0) | 2019.08.09 |
댓글
반응형
최근에 올라온 글
- Total
- Today
- Yesterday