1.) telnet ist eine art universeller client:
    telnet <host> <port>
Wenn das nicht tut, kann auch nichts anderes tun (bei TCP)

2. Als Literatur kann ich nur waermstens "Unix Network Programming" von Stevens empfehlen.
Da sind die ersten Beispiele auch deutlich einfacher (kein select()...)

Gruss

Frank

On 3/7/07, Kai-Micael Preiß < preiss@ifl.tu-dresden.de> wrote:
-----Original Message-----
From: Josef Spillner [mailto: 2005@kuarepoti-dju.net]
Sent: Wednesday, March 07, 2007 10:16 AM
To: kai-micael.preiss@tu-dresden.de; Linux-User-Group Dresden
Subject: Re: C und Netzwerkprog

Am Mittwoch, 7. März 2007 09:43 schrieb Kai-Micael Preiß:
> Hallo Liste!
>
> Ich habe folgendes Code-Beispiel (Buch: C und Linux) für einen
> einfachen "Universal-Client" (Arbeitsweise ähnlich Terminal-Programm)
> für C unter Linux gefunden:

Ich empfehle, wenn es denn schon in C sein muss, einfach libggz-dev zu
installieren und über
        #include <ggz.h>
        fd = ggz_make_socket(GGZ_SOCK_CLIENT, 22, "localhost"); die Sache
mächtig zu vereinfachen und auch gleich noch Unterstützung für IPv6, SSL/TLS
und dergleichen drin zu haben und sich nicht um Kompatibilität mit BSD oder
alternativen Washington'schen Systemen beschäftigen zu müssen.

Wer auch immer den Beispielquelltext erstellt hat, hat nicht unbedingt
Kompetenz bewiesen. Das sizeof() führt man auf den Variablennamen aus, nicht
auf den Datentyp, denn dieser kann sich evtl. mal ändern (z.B . 32->64 bit)
und dann hat man zwei Stellen anstatt nur einer, an der man das ändern muss
und eventuell vergisst.

Der Typfehler kann über ein Casting behoben werden. Also (struct
sockaddr*)server_addr verwenden. Aber wie gesagt, ich würde mir nicht all
die Probleme einhandeln wollen, die man bekommt, wenn man Netzwerkcode auf
der Ebene selbst in die Hand nimmt.

Josef

---------

Hallo Josef,

erstmal danke für die Infos!

Meinereiner versucht sich grad ansatzweise in die Netzwerkprog einzufitzen.
Anscheinend findet man hier aber nur sehr schwer vernünftige Literatur...
Was empfiehlst Du denn statt C? Zu C++ habe ich bezgl. Netzwerkprog
überhaupt nichts finden können.

Was das Casten angeht: Warnung ist weg. Allerdings erhalte ich immer noch
keinerlei Ausgaben... (Ich hab den Adress-Operator drin gelassen, da ja als
Übergabewert eine Adresse erwartet wird. Fehlt bei Dir... Korrekt?)

Vielleicht als Hintergrundinfo: wir sind dabei, unser Sim-Labor zu
"überarbeiten". Schritt 1 soll ein Traffic Generator sein, der
Positionsdaten ins Netz schießt, die von einer 2.Anwendung empfangen und
verarbeitet werden.

Danke & Gruß,
Kai


_______________________________________________
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
http://mailman.schlittermann.de/mailman/listinfo/lug-dd