reconnect mit casyncsocket
-
hi
ich hab ein simples programm zum senden von daten über ip mit casyncsocket geschrieben. kann ich es einrichten, dass wenn ich das nw-kabel rausziehe und wieder reinstecke eine connection trotzdem erhalten bleibt? den fehler beim herausziehen kann ich über onclose abfangen, aber wie mach ich, dass er die verbindung wieder aufbaut, wenn das kabel wieder steckt?
- enf...
-
du must beim server und beim clienten sicherstellen, das die verbindung mit Close() getrennt wurde und anschliessend, kannst du wieder wie beim ersten mal die verbindung hestellen
-
Aber nur wenn der Connect von Client erfolg. Vom Server kannst du es nur wenn der Client auch ein Server ist.
-
mir ist schon klar, wie ich den fehler bei onclose abfange, ich weiß also, dass ein nw-fehler vorligt. nur: wie kann ich es machen, dass die verbindung automatisch wieder erstellt wird, sobald das nw-kabel wieder reingesteckt wird?
btw: wie richte ich es ein, dass ein client auch server ist? wenn ich den listensocket auf listen gestellt hab und dann einen connectsocket öffne gibts einen fehler.
-
besch***
bitte helft mir. ich fange doch nicht den richtigen fehler ab. wie kann ich herausfinden, dass die verbindung aufgrund eines nw-fehlers getrennt wurde???
-
OnClose
Wenn diese Message kommt dann einfach wieder mit dem Programm machen was es nach dem Start oder drücken eines Buttons macht.
-
aber wenn der server die verbindung trennt, absichtlich, dann kommt auch ein onclose.
und wenn das nw-kabel rausgezogen wurde und ich dann sofort wieder ein connect mache nützt mir das wenig.
-
ok, sorry, die panik ist vorbei
ich hab ganz einfach die errorcodes verwechselt. jetzt gehts.trotzdem noch eine frage: kann ich theoretisch auch verbindungen herstellen, ohne dass immer ein socket einen port abhören muss? (auch mit anderen programmiersprachen als mfc/c++)
-
wie willst du dass machen, das würde ja bedeuten, dass du immer die gesamte bandbreite annimmst ?!? also über 65000 ports, und was ist da mit anderen anwendungen, die auch gerne ne verbindung zu ihrem eigentlichem ziel abhören. das würde dann ja ne firewall sein, die den gesamten netzwerk verkehr überwacht
-
ich hab eigentlich gemeint, ich gebe hier auf meinem pc was ein und auf dem rechner daneben erscheint zb eine msgbox, aber ohne dass ich auch dort irgendein programm starten muss. (und ich meine nicht netsend..., irgendwas selbstprogammiertes)
-
Ich dneke das du bei Computern generell etwas falsch verstehst.
Ein Computer arbeitet nur mit Programmen. Denken kann er nicht. Somit kann er nicht wissen das du bei ihm was ausgeben willst was du auf einem anderen Rechner eingibst.
Komminikation zw. den Computern findet über Netzwerk statt. Sei es nun Funj oder was auch immer. Hier gibt es Protokolle. Verbindungen nimmt der Computer über Ports an. Diese Ports werden durch ein Programm geöffnet.(Eigentlich zwar nicht da man nur dem Kernel sagt das er nun alles eingehende auf Port X dem Programm zuordnen soll. Vorher sind die Packete auch reingekommen aber der Kernel hat sie verweigert)
Dieses Programm kümmert sich nun um alles und gibt dann auch eine MessageBox aus so wie du es willst.
Sprichts du NET SEND an dann läuft dahinter auch nur ein Programm.Die ANTWORT: NEIN