Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Listen()

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 <
000
20.02.2007, 10:10 Uhr
~FreiherrEintritt
Gast


Ich hab ein Problem mit einer Netzwerk-Anwenung und wollte mal fragen, ob ich das richtig verstanden oder doch was vergessen habe:

- Ich hab einen Server und eine Client
- Jeweils Klasse von AsyncSocket abgeleitet und Ereignisbehanldung mit Dialogklasse verknüpft
- Der Server geht in den Listen-Modus

C++:
m_listen.Create(m_iPort);
m_listen.Listen();


- Der Client versucht zu verbinden:

C++:
m_socket.Create();
m_socket.Connect(m_strServer, m_iPort);


- Jetzt müsste beim Server ein OnAccept-Ereignis ausgelöst werden, das man so behandelt:

C++:
m_listen.Accept(m_socket);


wobei m_socket einfach ein weiterer Socket ist (den muss man nicht noch mit Create() erst erzeugen?)

Bei mir wird aber kein OnAccept-Ereignis ausgelöst. Die IP- und Port-Variablen haben beim Aufruf die richtigen Werte (und zwar 127.0.0.1 und 80 müsste also gehen...)
Ist das vom Prinzip korrekt? Ich bekomme nämlich ein WSAGetLastError() == 0 beim Listen-Versuch.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.02.2007, 11:46 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hi,
das OnAccept wird von dem listen-Socket aufgerufen - daher musste dir für deinen Server ein abgeleitetes AsyncSocket bauen das die OnAccept überschreibt.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.02.2007, 12:52 Uhr
~FreiherrEintritt
Gast


Ja, das weiß ich. Das hab ich auch oben geschrieben, dass ich abgeleitet habe. Die Accept-Method des Socket-Objekts ruft dann eine Methode der Dialog-Klasse auf. Aber es wird nicht mal die Accept-Methode der Socket-Klasse aufgerufen, das hab ich überprüft.
Was bedeutet, denn das GetLastError 0 zurückgibt? Dieser Fehlercode ist in der MSDN nicht aufgelistet.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.02.2007, 12:57 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


0 bedeutet normalerweise "alles klaro"
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


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: