반응형
리눅스에서 system api 를 사용하지 않고 sys fs 를 이용하여 네트워크의 상태를 알수있다.
네트워크 상태확인 sys fs
굳이 API 를 사용하지 않고도 네트워크의 상태를 확인할수있다.
/sys/devices/virtual/net/ppp0/statistics
위의 경로에 가면 read only 로 파일들을 읽을수있다. 트래픽 정보 뿐만아니라 각종 정보들이 추가로 있으니 각 상황에 맞게 코딩할수있는 장점이 있다.
- 위의 경로에서 "ppp0" 해당 부분은 인터페이스 이름을 적으면 된다.
간단한 예제
총 tx 량 계산예제
void GetTrafficInfo()
{
int fd = 0;
char buff[512];
if( is_found_ppp_device() >= 0)
{
fd = open ("/sys/devices/virtual/net/ppp0/statistics/tx_bytes", O_RDONLY);
memset(buff, 0x00, 512);
read(fd, buff, 512);
printf(" tx byte is [%s]rn",buff);
}
}
반응형