---------- Forwarded message ---------- From: Frank Gerlach frankgerlach@gmail.com Date: Mar 7, 2007 1:53 PM Subject: Re: C und Netzwerkprog To: kai-micael.preiss@tu-dresden.de
On 3/7/07, Kai-Micael Preiß preiss@ifl.tu-dresden.de wrote:
Du meinst dieses, nehme ich an:
http://www.amazon.de/Unix-Network-Programming-Addison-Wesley-Professional/dp /0131411551/ref=sr_1_1/303-7926172-9919438?ie=UTF8&s=books-intl-de&qid=11732
65945&sr=8-1 ?
Exakt.
Hier die URL zu den Beispielprogrammen:
http://www.kohala.com/start/unpv12e/unpv12e.tar.gz
Das erste Programm aus diesem Buch , leicht modifiziert:
#include <sys/types.h> #include <sys/socket.h> #include <unistd.h>
#include <pthread.h> #include <sys/types.h>
#include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #include <unistd.h>
#define MAXLINE 80
int main(int argc, char **argv) { int sockfd, n;
char recvline[MAXLINE + 1]; struct sockaddr_in servaddr;
if (argc != 2) printf("usage: a.out <IPaddress>\n");
if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) printf("socket error\n");
bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(25);//25 ist SMTP if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0) printf("inet_pton error for %s", argv[1]);
if (connect(sockfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0)
printf("connect error\n");
while ( (n = read(sockfd, recvline, MAXLINE)) > 0) { recvline[n] = 0; /* null terminate */ printf("%s",recvline);
} if (n < 0) printf("read error\n");
exit(0); }
Aufruf mit ./xx 212.89.98.3
Es gibt dann die Begruessungsmeldung eines Servers aus.