int NetDetect(char *net_name, int *statue) {
int ret = 0;
int skfd = 0; struct ifreq ifr; skfd = socket(AF_INET, SOCK_DGRAM, 0); //建議socket通信,AF_INET協議族,SOCK_DGRAM表示UDP協議,0表示使用默認套接字,即這里的UDP if(skfd < 0){ printf("open socket error\n"); return skfd; } strcpy(ifr.ifr_name, net_name); //要檢測網卡的名稱 if((ret = ioctl(skfd, SIOCGIFFLAGS, &ifr)) < 0){ //調用內核接口,獲取網卡信息 printf("ethernet interface is not valid\n"); close(skfd); return ret; }
close(skfd); if(ifr.ifr_flags & IFF_RUNNING){ //判斷網卡狀態 *statue = 1; }else{ *statue = 0; }
return ret; }
最近事情比較多,有一段時間沒有更新博客了,這次簡單粗暴,直接上代碼,這個函數是用來檢測網卡狀態的,當然也可以判斷網線是否被拔出咯。
接下來會分享第五篇BananaPi R2如何和4G模塊搭配實現,移動通信功能。