C 判斷主機是否處於聯網狀態

2022-10-03 23:48:13 字數 1172 閱讀 1615

直接讓本機訪問乙個**,如果成功的話,就說明成功聯網,沒有訪問成功,則說明沒有聯網!!!

#include

#include

#pragma comment(lib,"ws2_32.lib")

#define len 1024 //接收資料的大小

using namespace std;

int main()

if ( lobyte( wsadata.wversion ) != 1 || //判斷請求的winsocket是不是1.1的版本

hibyte( wsadata.wversion ) != 1 )

//wsadata ws;

//wsastartup(makeword(2,2),&ws);//

char http[60] = "www.google.com"; //訪問谷歌網頁

socket sock = socket(af_inet,sock_stream,0);//建立socket

if (sock == invalid_socket)

{ cout《程式設計客棧in hostadd;

hostent* host = gethostbyname(httwww.cppcns.comp);//取得主機的ip位址

if(host==null)

{ cout程式設計客棧_inet;

hostadd.sin_port = htons(80);

char buf[len]="get / http/1.1\r\nhost: ";//構造http請求資料報

strcat(buf,inet_ntoa(hostadd.sin_addr));

strcat(buf," \r\ncontent-length: 10\r\n\r\n");

strcat(buf,"connection:close");

int time = 1000; //超時時間

setsockopt(sock,sol_socket,so_rcvtimeo,(char*)&time,sizeof(time));

if (connect(sock,(sockaddr*)&hostadd,sizeof(hostadd)) == socket_error)//連線請求

{ cout<

本文標題: c++判斷主機是否處於聯網狀態

本文位址:

轉貼 C 判斷主機是否處於聯網狀態下

include include pragma comment lib,ws2 32.lib define len 1024 接收資料的大小 using namespace std int main if lobyte wsadata.wversion 1 判斷請求的winsocket是不是1.1的版...

Geodatabase 判斷是否處於編輯狀態

engine中提供idatasetedit來判斷資料是否處於編輯狀態,我們知道,在arcmap中,進行編輯的不一定都是要素類,也可以是表,網路幾何等.以下能在arcmap中進行編輯的資料都實現了 idatasetedit介面 classes that implement idatasetedit c...

判斷當前時間是否處於某個時間段,是否處於星期幾當中

在某些業務邏輯中總要用到判斷時間的,比如商家優惠券使用時間,商家廣告推廣時間,特此做個筆記。一 判斷當前日期是否處於星期幾 檢查當前星期幾並確定是否存在於星期集合 param daylist 內容為星期一到星期日 return public static boolean checkday list ...