Server/Client verbindung - CAsyncSocket
-
hallo leute,
habe folgendes problem:ich habe einen PC der an netzwerk angeschlossen ist (ohne firewall etc), auf diesem PC läuft ein Server... (ip und port bekannt)
jetzt habe ich einen Client geschrieben, der soll zu diesem PC connecten
mein Client gibt aber laut GetLastError() folgende Fehlermeldung beim aufruf von ClientSocket.Connect(Address, Port)
aus:"The socket is marked as nonblocking and the connection cannot be completed immediately"den Client habe ich testweise mit MFC klasse CAsyncSocket realisiert...
weisst einer woran das liegen kann ?
-
ist ganz normal...ist keine echte fehlermeldung. nur ein hinweis.
-
hmm...muss mal bei deinem Server schauen, ob der sync oder ASync läuft. Unter umständen versteht der Server den Client einfach nicht.
Oder bekommst du eine Verbindung und hält der Client dann an?Nen bisl mehr musst du schon dazu posten. Der Fehler (Es ist einer ! ) ist zu ungenau um daraus schlau zu werden..
-
Uruk-h4j schrieb:
Der Fehler (Es ist einer ! ) ist zu ungenau um daraus schlau zu werden..
Das ist kein Fehler, sondern das normale Verhalten bei asynchronen Sockets.
-
hallo,
leider ist es ein Fehler, da
ClientSocket.Connect(Address, Port)als rückgabewert fehler anzeigt,
wenn ich dann eben mit
GetLastError()diesen Fehler anschaue, kommt eben diese
"The socket is marked as nonblocking and the connection cannot be completed immediately"meldung raus...
leider werde ich da nicht schlauer...
ob server syncron oder asynchron läuft kann ich leider nicht nachschaue, ist weit entfernter pc und ich habe da keine direkte kontrolle über den,
kann man irgendwie bestimmen, in welchem modus der server läuft (sync, async) ?
mfg
-
Sergius schrieb:
leider ist es ein Fehler
<Gebetsmühle>Nein, es ist kein Fehler.</Gebetsmühle>
Lies doch mal die Dokumentation:
MSDN Library schrieb:
If this indicates an error code of WSAEWOULDBLOCK, and your application is using the overridable callbacks, your application will receive an OnConnect message when the connect operation is complete.