Sponsored Content
Full Discussion: regarding net
Top Forums Programming regarding net Post 302096378 by Corona688 on Wednesday 15th of November 2006 09:47:14 AM
Old 11-15-2006
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");

The file redirection just prevents ping from polluting the output with unnecessary stuff.

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 10:55 AM..
 

6 More Discussions You Might Find Interesting

1. Solaris

Getting on the net

I've been having trouble getting my old gateway computer on the net with solaris. All of the network stuff is built into the motherboard. Is there a way that I can get it recognized? (4 Replies)
Discussion started by: possuman72
4 Replies

2. UNIX for Dummies Questions & Answers

/etc/rc.d/net - eth1

I just installed Crux on my laptop, which means I'll have to configure /etc/rc.d/net to adapt to my wireless internet. When I ran Linux before, I connected through eth1. How should I configure the /etc/rc.d/net file accordingly? Thanks for reading, Octal. (0 Replies)
Discussion started by: Octal
0 Replies

3. Shell Programming and Scripting

Net::SSLeay or Net::FTPSSL

Hello, I ran into an issue in one of my monitoring scripts. If I use the public ip address in my connection string everything works, but if I switch the connection string ip to 127.0.0.1 or the internal ip I get, " Connection refused at... (1 Reply)
Discussion started by: Styles
1 Replies

4. Shell Programming and Scripting

net help with getopts

Hi I have written the following script. But the variable sid is not getting set why is that. When i run the script i get the output as ORATAB FOR is Instead if i run the script like test.sh xiamin i am expecting the output as ORATAB FOR xiamin is #!/bin/ksh while... (4 Replies)
Discussion started by: xiamin
4 Replies

5. UNIX for Dummies Questions & Answers

How to use one net card of two

I have two server with 2 net cards each one: Server 1 A = 100 Mbs B = 1000Mbs (Gigabit) Server 2 A = 100 Mbs B = 1000Mbs (Gigabit) In A i ' am conected to the public network ( In both servers) and in B i make a point to point lan 1 gigabit of speed. Between the servers ... (1 Reply)
Discussion started by: enkei17
1 Replies

6. What is on Your Mind?

Net Neutrality

Hi, Just wanted to know your opinion on this What you need to know about the court decision that just struck down net neutrality — Tech News and Analysis (1 Reply)
Discussion started by: ni2
1 Replies
AnyEvent::XMPP::Ext::Ping(3pm)				User Contributed Perl Documentation			    AnyEvent::XMPP::Ext::Ping(3pm)

NAME
AnyEvent::XMPP::Ext::Ping - Implementation of XMPP Ping XEP-0199 SYNOPSIS
use AnyEvent::XMPP::Ext::Ping; my $con = AnyEvent::XMPP::IM::Connection->new (...); $con->add_extension (my $ping = AnyEvent::XMPP::Ext::Ping->new); # this enables auto-timeout of a connection if it didn't answer # within 120 seconds to a ping with a reply $ping->enable_timeout ($con, 120); my $cl = AnyEvent::XMPP::Client->new (...); $cl->add_extension (my $ping = AnyEvent::XMPP::Ext::Ping->new); # this enables auto-timeout of newly created connections $ping->auto_timeout(120); $ping->ping ($con, 'ping_dest@server.tld', sub { my ($time, $error) = @_; if ($error) { # we got an error } # $time is a float (seconds) of the rtt if you got Time::HiRes }); DESCRIPTION
This extension implements XEP-0199: XMPP Ping. It allows you to define a automatic ping timeouter that will disconnect dead connections (which didn't reply to a ping after N seconds). See also the documentation of the "enable_timeout" method below. It also allows you to send pings to any XMPP entity you like and will measure the time it took if you got Time::HiRes. METHODS
new (%args) Creates a new ping handle. auto_timeout ($timeout) This method enables automatic connection timeout of new connections. It calls "enable_timeout" (see below) for every new connection that was connected and emitted a "stream_ready" event. This is useful if you want connections that have this extension automatically timeouted. In particular this is useful with modules like AnyEvent::XMPP::Client (see also SYNOPSIS above). enable_timeout ($con, $timeout) This enables a periodical ping on the connection $con. $timeout must be the seconds that the ping intervals last. If the server which is connected via $con didn't respond within $timeout seconds the connection $con will be disconnected. Please note that there already is a basic timeout mechanism for dead TCP connections in AnyEvent::XMPP::Connection, see also the "whitespace_ping_interval" configuration variable for a connection there. It then will depend on TCP timeouts to disconnect the connection. Use "enable_timeout" and "auto_timeout" only if you really feel like you need an explicit timeout for your connections. ping ($con, $dest, $cb, $timeout) This method sends a ping request to $dest via the AnyEvent::XMPP::Connection in $con. If $dest is undefined the ping will be sent to the connected server. $cb will be called when either the ping timeouts, an error occurs or the ping result was received. $timeout is an optional timeout for the ping request, if $timeout is not given the default IQ timeout for the connection is the relevant timeout. The first argument to $cb will be the seconds of the round trip time for that request (If you have Time::HiRes). If you don't have Time::HiRes installed the first argument will be undef. The second argument to $cb will be either undef if no error occured or a AnyEvent::XMPP::Error::IQ error object. ignore_pings ($bool) This method is mostly for testing, it tells this extension to ignore all ping requests and will prevent any response from being sent. AUTHOR
Robin Redeker, "<elmex at ta-sa.org>", JID: "<elmex at jabber.org>" COPYRIGHT &; LICENSE Copyright 2007, 2008 Robin Redeker, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2012-01-23 AnyEvent::XMPP::Ext::Ping(3pm)
All times are GMT -4. The time now is 05:42 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy