![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| High Level Programming Post questions about C, C++, Java, SQL, and other programming languages here. |
|
|
Submit Tools | LinkBack | Thread Tools | Display Modes |
|
#1
|
|||
|
|||
|
regarding net
how we can find whether net is connected or diconnected.
|
| Forum Sponsor | ||
|
|
|
#2
|
|||
|
|||
|
Just ping a remote ip address and the you can find out is connected or not
|
|
#3
|
|||
|
|||
|
thank u
i want find this connection using c program.
i tried this int p; p=popen("ping google.com -c 1","r"); pclose(p); after completion of this how can i get the data from the shell so tht i can find whther net is connected or not Last edited by phani_sree; 11-15-2006 at 12:03 AM. |
|
#4
|
||||
|
||||
|
phani_sree, I suggest reading up on the man page of popen. It returns a file pointer. And since you want to read the output of the command, you are supposed to fread/fgets/fscanf using that file pointer.
To get a carton of milk from the refrigerator, you: 1. open the door 2. take out the milk 3. close the door What you are doing is analogous to: 1. open the door 2. close the door |
|
#5
|
||||
|
||||
|
Quote:
If you are an amatour .. maybe .. You can ping your gateway/gateway's , to see if your connected to the network ( Internet ) , and you can use raw socket's .. Cheer's , hope it was helpful .. |
|
#6
|
||||
|
||||
|
!_30, please read the rules of this site.
Quote:
|
|
#7
|
|||
|
|||
|
Ping your own gateway? Which? A server system could easily have more than one network card and complex network routing. Pinging some other site lets the system handle the choice of routes for you. Some will block it, yes, so just pick one that does not!
Try system() instead of popen(). The return value will be zero if connected to the net, nonzero if not. Also investigate the options for ping to limit the number of pings to one, and change the timeout to your preference: Code:
if(system("ping -c 1 -w 1 yahoo.com > /dev/null 2> /dev/null") != 0)
fprintf(stderr,"Net is down!\n");
else
fprintf(stderr,"Net is up\n");
You could also open a network socket to, say, yahoo.com port 80. If you can do that, the net is up. Not as easy to configure timeouts for that though. Last edited by Corona688; 11-15-2006 at 07:55 AM. |
|||
| Google The UNIX and Linux Forums |