12-28-2002
c++ ping program
i just finished a c++ course in my school and i want to write a program to use at home, also for my dad to use. my dsl has been going out recently and i check the connection by pinging yahoo.com usually. but the ping program times out after a little while of no responces. so what i want to do is this, write a c++ program where it will ask you what host you want to ping, and it will open the ping program. now if there is a responce, it will output the responce and then the program will end. if there is no responce in a given amount of time, like 5 seconds, it will kill the ping program and restart it and keep trying until a responce is recieved. i want to do this in c++ because i will want to compile this for windows so my dad can use it, the only access to any compiler is at school, and only c++. so my question is this, in c++ how can i call an outside program? i will specify in the program where to look for the program, (/bin/ping) and when i want to compile it for windows i will just change the location. ive done this in a shell script with bash, and thats what i use now for when the dsl goes out, but this is a personal project of mine to get this running and mainly so my dad can use it. this is not a homework question.
10 More Discussions You Might Find Interesting
1. IP Networking
need help!!
need a ping program written in c with the explanations as to what each variable,function does!!! please help!! (4 Replies)
Discussion started by: sachin_zeus
4 Replies
2. Programming
Hi,
Program A: uses pipe()
I am able to read the stdout of PROGAM B (stdout got through system() command) into PROGRAM A using:
* child
-> dup2(fd, STDOUT_FILENO);
-> execl("/path/PROGRAM B", "PROGRAM B", NULL);
* parent
-> char line;
-> read(fd, line, 100);
Question:
---------... (1 Reply)
Discussion started by: vvaidyan
1 Replies
3. Programming
Hi,
I wanted to know if i can write a program using switches and signals, etc to trace execution of other unix program which calls c program internally.
If yes how? If not with signals and switches then are there any other methods apart from debugging with gdb/dbx. (3 Replies)
Discussion started by: jiten_hegde
3 Replies
4. UNIX for Dummies Questions & Answers
Hi,
i want to write a script that executes a program (exec?) .
this program then requires a filename as input.
how do i give it this input in the script so the program will be complete run and close by the script.
e.g.
exec prog.exe
program then asks for filename
"enter filename:"... (1 Reply)
Discussion started by: tuathan
1 Replies
5. Programming
I wrote a simple program that generates a random word 10,000,000 times.
I wrote it in python, then in C++ and compared the two completion times. The python script was faster! Is that normal? Why would the python script be faster? I was under the impression that C++ was faster. What are some of... (2 Replies)
Discussion started by: cbreiny
2 Replies
6. Homework & Coursework Questions
Long story short: I'm working inside of a Unix SSH under a bash shell. I have to code a C program that generates a random number. Then I have to call the compiled C program with a Perl program to run the C program 20 times and put all the generated random #s into a text file, then print that text... (1 Reply)
Discussion started by: jdkirby
1 Replies
7. Shell Programming and Scripting
Hi,
I develop simple animation ping script on Solaris Platform. It is like Cisco ping.
Examples and source code are below.
bash-3.00$ gokcell 152.155.180.8 30
Sending 30 Ping Packets to 152.155.180.8
!!!!!!!!!!!!!.!!!!!!!!!!!!!!!.
% 93.33 success... % 6.66 packet loss...... (1 Reply)
Discussion started by: gokcell
1 Replies
8. Shell Programming and Scripting
Hi
I am using perl to ping a list of nodes - with script below :
$p = Net::Ping->new("icmp");
if ($p->ping($host,1)){
print "$host is alive.\n";
}
else {
print "$host is unreacheable.\n";
}
$p->close();... (4 Replies)
Discussion started by: tavanagh
4 Replies
9. Programming
help with bash script!
im am working on this script to make sure my server will stay online, so i made this script..
HOSTS="192.168.138.155"
COUNT=4
pingtest(){
for myhost in "$@"
do
ping -c "$COUNT" "$myhost" &&return 1
done
return 0
}
if pingtest $HOSTS
#100% failed... (4 Replies)
Discussion started by: mort3924
4 Replies
10. Shell Programming and Scripting
I created a program, so a kid can practice there math on it. It dispenses varies math problems and the kid must input an answer. I also want it to grade the work they have done, but I can't find the best place for it to print out the grade.
I have:
if ( $response =~ m/^/ ) {
$user_wants_to_quit... (1 Reply)
Discussion started by: germany1517
1 Replies
LEARN ABOUT DEBIAN
anyevent::xmpp::ext::ping
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)