Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » GNU/Linux » seltsam: Sockets

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
11.01.2004, 19:00 Uhr
(un)wissender
Niveauwart


@virtual
Meine Klasse unterstützt allerdings nur synchrone Sockets, da ich für asynchrone an die Eventschleife muss, das wollte ich vermeiden.
Ich wollte die mit gtkmm nutzen.
Ich unterstütze << und >>, aber das macht keinen Socketstream aus.
Was ich echt unterschätzt habe, ist der Aufwand der Threadsicherheit.
Ich habe globale(für Netzinitialisierung ->::WSAInit) wie lokale Referenzzählung(muss, da Sockets sonst nicht kopiert werden können), und dass zu synchronisieren, wow!
Wird wohl am Ende 600 Zeilen haben.
Ist dann aber auch ohne Nachzudenken benutzbar und das mit 1-2 Zeilen Code.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
12.01.2004, 08:40 Uhr
virtual
Sexiest Bit alive
(Operator)


Hm, ich habe das Kopieren von Sockets einfach verboten; Streams dürfen ja auch nicht kopiert werden. Was diesen Unsinn mit WSAInit angeht: dafür kann man eigentlich ziemlich einfach unter Windows das DllMain heranziehen, welches die notwendige Initialisierung bereits beim laden der DLL macht.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
12.01.2004, 21:23 Uhr
(un)wissender
Niveauwart


Dllmain heranziehen, kannst du das weiter ausführen?
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
12.01.2004, 21:27 Uhr
(un)wissender
Niveauwart


Ich wollte das ganze statisch linken, weil ich keinen Plan von dlls habe.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
12.01.2004, 23:49 Uhr
virtual
Sexiest Bit alive
(Operator)


Unter Windows kannst Du einer DLL eine Funktion Namens DllMain mitgeben. Die erwartet einen Integer parameter. Die Funktion wird aufgerufen, sobald die DLL geladen wird (auch zu anderen Ereignissen, darüber gibt der int parameter auskunft). Dllmain eignet sich damit vorzüglich zur One-Time-Initialisierung von so Sachen wie WSAInit oder Semaphoren usw.
Ist halt das Gegenstück zu den init/finish Routinen bei Shared Objekts.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
13.01.2004, 06:47 Uhr
(un)wissender
Niveauwart


Klingt gut, aber ich wollte das (für die Zukunft) einigermaßen portabel halten, gibt es sowas auch unter Linux?
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ GNU/Linux ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: