使用Reachbility判斷當前網路狀態

2021-07-08 17:52:25 字數 1252 閱讀 4262

我們使用程式時,有時會斷網,但我們並不知道,程式也沒有說明。作為程式設計師,是肯定要為使用者考慮的,廢話不多說,上**。

reachability *nettest;//定義乙個reachability

接著呢,如何判斷有網沒網,有的時候,在家中,路由器開著,我們手機也連著wifi,我們就會認為連著網,但我們不知道是否可以進行網際網路反問,這就需要輸入乙個網路位址,去進行判斷。同樣,程式中,我們也需要,有乙個ip位址,去判斷手機是否能上網。

nsstring *address = @"www.baidu.com";//例子

同時,需要判斷你輸入的位址是否合法網域名稱,

+(bool)judiceishost:(nsstring *)stringelse

return no; }

if([self judiceishost:address])

//接下來,判斷網路狀態

const char *ipadd = [address utf8string];

struct sockaddr_in address;

memset(&address, 0, sizeof(address));

address.sin_len = sizeof(address);

address.sin_family = af_inet;

address.sin_port = htonl(port);

address.sin_addr.s_addr = htons(inet_addr(ipadd));

nettest = [reachability reachabilitywithaddress:&address];

switch ([nettest currentreachabilitystatus])

//如果要求監聽才開始監聽網路 listten/布林值,/

if (listen)

/*網路變化時的回掉方法*/

-(void)reachabilitychange:(nsnotification *)notice

[newnettest startnotifier];

if ([shserver instance].beforenettype == net_none && self.currentnettype != net_none)

else if ([shserver instance].beforenettype != net_none && self.currentnettype == net_none)

}

mysql使用判斷 MySQL使用判斷

1.case語法 在第乙個方案的返回結果中,value compare value。而第二個方案的返回結果是第一種情況的真實結果。如果沒有匹配的結果值,則返回結果為else後的結果,如果沒有else 部分,則返回值為 null。mysql select case 1 when 1 then one ...

6 使用條件判斷

使用條件判斷,可以讓 make 根據執行時的不同情況選擇不同的執行分支。條件表示式可以是比較變數的值,或是比較變數和常量的值。下面的例子,判斷 cc 變數是否 gcc 如果是的話,則使用 gnu函式編譯目標。libs for gcc lgnu normal libs foo objects ifeq...

使用python判斷素數

def isprime num 直接計算是否是素數 count 0for i in range 2 num if num i 0 count 1return false return true defisprime2 num 定理1.1.7 和 歐幾里得除法 首先找出 sqrt num 的所有素數,...