導航:首頁 > 網路連接 > c判斷網路連接

c判斷網路連接

發布時間:2022-07-04 06:58:55

如何編寫一個判斷當前網路連接狀態的C/C++函數

用DOS命令 netstat 轉向 到文件,再讀文件,分析內容。
netstat 有一些選項,根據你的需要可以選設。

system("netstat -a > my_net.dat");
打開 my_net.dat
讀文件,分析內容。

netstat 用法在命令窗 打
netstat /?
查看。

Ⅱ 已知IP和埠,用c語言怎麼判斷能不能連接網路

持續建立tcp連接
建立成功就是和伺服器連上了
不成功就等於是無網路
建立成功後,保持一個心跳連接確定網路通暢就好

Ⅲ c語言怎樣判斷網路狀態

C語言判斷不了,這個跟系統有關系。

Ⅳ C/C++程序檢測和連接無線網路

有重新寫代碼的這個必要嗎?
WINDOWS7(幾乎所有版本的WIN系統)
本身就有這個功能啊
你只要在網路連接中,把名為Aaa的這個無線AP設為默認連接AP(或備選
AP)
當你的網卡接收到這個AP的信號時,它自然就會自動連接。

Ⅳ c語言如何檢測網路是否連接

1、如果對方斷開連接的話,那麼readNum = recv ( socketId, rcvBuf, rcvBufSize, 0 );
readNum返回值應該是0,可以根據返回值判斷。
2、recv函數返回值說明
recv函數
int recv( SOCKET s, char FAR *buf, int len, int flags);
不論是客戶還是伺服器應用程序都用recv函數從TCP連接的另一端接收數據。該函數的第一個參數指定接收端套接字描述符; 第二個參數指明一個緩沖區,該緩沖區用來存放recv函數接收到的數據; 第三個參數指明buf的長度; 第四個參數一般置0。
這里只描述同步Socket的recv函數的執行流程。當應用程序調用recv函數時,
(1)recv先等待s的發送緩沖中的數據被協議傳送完畢,如果協議在傳送s的發送緩沖中的數據時出現網路錯誤,那麼recv函數返回SOCKET_ERROR,
(2)如果s的發送緩沖中沒有數據或者數據被協議成功發送完畢後,recv先檢查套接字s的接收緩沖區,如果s接收緩沖區中沒有數據或者協議正在接收數 據,那麼recv就一直等待,直到協議把數據接收完畢。當協議把數據接收完畢,recv函數就把s的接收緩沖中的數據到buf中(注意協議接收到的數據可能大於buf的長度,所以 在這種情況下要調用幾次recv函數才能把s的接收緩沖中的數據完。recv函數僅僅是數據,真正的接收數據是協議來完成的), recv函數返回其實際的位元組數。如果recv在時出錯,那麼它返回SOCKET_ERROR;如果recv函數在等待協議接收數據時網路中斷了,那麼它返回0。 默認 socket 是阻塞的 解阻塞與非阻塞recv返回值沒有區分,都是 <0 出錯 =0 連接關閉 >0 接收到數據大小,
特別:返回值<0時並且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情況下認為連接是正常的,繼續接收。只是阻塞模式下recv會阻塞著接收數據,非阻塞模式下如果沒有數據會返回,不會阻塞著讀,因此需要循環讀取)。
返回說明: 成功執行時,返回接收到的位元組數。另一端已關閉則返回0。失敗返回-1,errno被設為以下的某個值 EAGAIN:套接字已標記為非阻塞,而接收操作被阻塞或者接收超時 EBADF:sock不是有效的描述詞 ECONNREFUSE:遠程主機阻絕網路連接 EFAULT:內存空間訪問出錯 EINTR:操作被信號中斷 EINVAL:參數無效 ENOMEM:內存不足 ENOTCONN:與面向連接關聯的套接字尚未被連接上 ENOTSOCK:sock索引的不是套接字 當返回值是0時,為正常關閉連接;
思考:當對側沒有send,即本側的套接字s的接收緩沖區無數據,返回值是什麼(EAGAIN,原因為超時,待測)

Ⅵ 怎麼用c語言來判斷網路是否通

網路是否通暢
使用ping就可以了
選定合適的伺服器即可。
如果是外網是否通暢 ping 網路。 或者ping 114.114.114.114
如果是內網 可以任選一台伺服器。 比如網關。

Ⅶ 如何用c語言來判斷網路是否通

判斷網路通暢 一般用ping的方式
可以直接使用系統命令
通過popen 打開Ping名令 到結果找返回的時間關鍵字
如果ping通比例達到一定值以上,即可認為網路通暢。
popen具體用法 請自行網路。

Ⅷ 如何用C語言檢測網路是否連接上、已連接、已斷開狀態

如果對方斷開連接的話,那麼readNum = recv ( socketId, rcvBuf, rcvBufSize, 0 );
readNum返回值應該是0,可以根據返回值判斷

還有一種辦法,就是做一個心跳檢測,定時發送消息,如果發送失敗就知道對方不在了

Ⅸ C# 網路連接判斷

下面這個程序就是, 你可以直接去建立一個控制台應用程序去調試一下

不過需要說明一下,程序的思路就是,通過PING的方式 去ping internet上計算機的IP地址(這里是隨便用的一個網通伺服器IP123.145.68.1),如果能ping成功代表,本地電腦連接上外網。。

123.145.68.1這個IP地址可以隨意換 只要是在internet上的計算機的IP都可以,不過如果你程序的這個IP不是通過配置,而是寫死在程序中的情況,推薦你使用一個一直都在線的計算機IP ,比如QQ,163等伺服器IP(你應該明白吧)

那個IP 也可以換成 如http://www.163.com的 字元串,不過這時候 需要對

PingReply pr = p.Send("http://www.163.com");這句代碼 進行try catch一下(因為,斷開網路的時候會拋出異常);

暫停10分鍾的那段代碼要寫在catch里,這里就不詳細列出了。 你肯定知道的。

using System;
using System.Collections.Generic;
using System.Text;
using System.Net.NetworkInformation;
using System.Threading;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Ping p = new Ping();//創建Ping對象p
PingReply pr = p.Send("123.145.68.1");//向指定IP或者主機名的計算機發送ICMP協議的ping數據包

if (pr.Status == IPStatus.Success)//如果ping成功
{
Console.WriteLine("網路連接成功, 執行下面任務...");
}
else
{
int times = 0;//重新連接次數;
do
{
if (times >= 12)
{
Console.WriteLine("重新嘗試連接超過12次,連接失敗程序結束");
return;
}

Thread.Sleep(600000);//等待十分鍾(方便測試的話,你可以改為1000)
pr = p.Send("123.145.68.1");

Console.WriteLine(pr.Status);

times++;

}
while (pr.Status != IPStatus.Success);

Console.WriteLine("連接成功");
times = 0;//連接成功,重新連接次數清為0;
}
}
}
}

不知道符合你要求不, 希望對你有幫助 ,,睡了 累死了,,語文差死了 所以組織了很久的語言,哈哈,

Ⅹ c語言ip判斷

#include<stdio.h>
structIP
{
inta;
charq1;
intb;
charq2;
intc;
charq3;
intd;
}s;
voidyesno()
{
scanf("%d%c%d%c%d%c%d",&s.a,&s.q1,&s.b,&s.q2,&s.c,&s.q3,&s.d);
if(s.a<256&&s.a>0&&s.b<256&&s.b>0&&s.c<256&&s.c>0&&s.d<256&&s.d>0)
{
if(s.q1=='.'&&s.q1=='.'&&s.q1=='.')printf("YES ");
elseprintf("NO ");
}
elseprintf("NO ");
}

main()
{
inti;
for(i=0;i<99;i++)
{yesno();}
}

閱讀全文

與c判斷網路連接相關的資料

熱點內容
疫情期間移動網路優秀事跡 瀏覽:767
教師網路培訓的研討交流怎麼完成 瀏覽:481
沈陽廣電屬於哪個網路 瀏覽:688
wsn接入網路有哪些方式 瀏覽:570
電腦谷歌用不了網路 瀏覽:348
杭州5g網路機櫃多少錢 瀏覽:846
自己家的wifi器怎樣把網路加強 瀏覽:896
廣東黃埔區哪個網路最好 瀏覽:475
網路司法變賣期限最少為多少天 瀏覽:605
nat如何訪問內部網路 瀏覽:771
便宜又好用的手機網路卡 瀏覽:550
網路小說用戶有多少 瀏覽:389
電腦禁網了重置網路適配器也不行 瀏覽:712
網路詐騙歸誰哪個部門管理 瀏覽:309
怎麼查找電腦網路上的連接密碼 瀏覽:729
關於網路安全心得體會800字 瀏覽:545
網路助理軟體 瀏覽:345
華為手機怎麼關閉移動網路許可權 瀏覽:365
路由器發燒網路不穩定 瀏覽:785
榮耀50網路制式設置 瀏覽:502

友情鏈接