Re: How to compile first network program? E.g. to PING google.com
- From: Chuck Swiger <cswiger@xxxxxxx>
- Date: Fri, 29 Dec 2006 12:19:17 -0500
linux quest wrote:
[ ... ]
Notice: steep learning curve ahead. I suggest you clarify what you want to do and what problems you are trying to solve; learning how to write simple code in C comes before learning how to write network code in C and learning how to work in Unix is a separate issue entirely.
So, my question is ...
1. How can I write a very simple C network program ... to lets say I wanted to ping google.com ???
A minimal program would involve the system() call to run the existing ping program directly:
% cat ping_google.c
#include <stdlib.h>
int main(int argc, char *argv[])
{
int ping_failed;
ping_failed = system("/sbin/ping -oq google.com > /dev/null");
if (ping_failed) {
puts("\nPinging google.com failed!\n");
} else {
puts("\nPinging google.com succeeded.\n");
}
}
% cc -o pg ping_google.c
% ./pg
Pinging google.com succeeded.
...for a more complete implementation, something which allocates its own sockets and deals with the network itself, look at /usr/src/sbin/ping/ping.c; it's about 1700 lines long. However, it would be possible to write something much smaller using libnet, for example.
2. Which directory / location in UNIX should I go to?
Most people create a location under their home directory called "Projects" or "Workareas", or something similar, and create and work on their stuff in a subdirectory under there.
3. How do I compile and execute the simple C network program - lets say doing a ping on google.com???
For trivial cases, using "cc" directly. For more complex programs, most people use Makefiles.
--
-Chuck
_______________________________________________
freebsd-questions@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscribe@xxxxxxxxxxx"
- References:
- How to compile first network program? E.g. to PING google.com
- From: linux quest
- How to compile first network program? E.g. to PING google.com
- Prev by Date: "The Complete FreeBSD": errata and addenda
- Next by Date: Kerberos/Heimdal/samba-libsmbclient
- Previous by thread: How to compile first network program? E.g. to PING google.com
- Next by thread: Re: How to compile first network program? E.g. to PING google.com
- Index(es):
Relevant Pages
|
|