Was muss ich beachten, wenn (Netzwerkfrage)



  • ...ich die ZielIP zu Server B ändern will,
    nachdem ich bereits etwas an Server A geschickt und dieser empfangen hat?
    (Server A und B sind identische Programme an zwei Rechnern)

    Denn der Fehler der auftritt ist folgendermaßen:
    Nachdem ich z.B. localhost etwas auf diesen Server schicke und dieser es empfängt, will ich die IP von einen anderen PC eingeben.
    Übergebe ich diese per Button an den Socket, macht
    er immernoch weiter mit WSAGetLastError rückgabe = 0.
    Gibt aus, das etwas versendet wurde, aber es kommt nichts bei Server B an.

    Komische Sache dazu:
    Wenn ich überprüfe welche IP im Speicher liegt BEVOR ich sende ist sie
    die wie eingegeben, danach nimmt sie aber komischerweise den
    Inhalt des zu sendenden Text an ...

    Was muss ich dafür genau tun das dies auch Funktioniert
    und die neue IP angenommen wird? Ich bitte eigentlich nur
    um eine beschreibung welche Vorgänge notwendig sind um eine IP zu wechseln.

    Vielen dank!



  • Ich will noch ergänzen, das dieser Server B, den ich nach dem Versenden erreichen will,
    nicht zu erreichen ist!
    Der Fehler tritt nur bei einer Falscheingabe auf!



  • hola

    entweder du schenkst dem forum ein schoenes teil von http://www.die-kristallkugel.de/ oder du musst dir vielleicht was anderes ausdenken. vielleicht bissl relevanten sourcecode zeigen oder so.

    Meep Meep



  • hättest aber bitte ne warnung zum link geben sollen:

    "Achtung! Diese Seite verursacht Augenkrebs" 😮

    😃

    ich hätte ansonsten noch ne glaskugel die ich immer für unsere kunden nehme :p



  • Sorry aber ich glaube es ist
    1. Arg viel Code und
    2. Wollte ich eigentlich nur wählen, was ich berücksichtigen muss, z.B. welche Befehle oder dergleichen, notwendig sind, um die IP eines Clients auf einen anderen Server zu ändern, nachdem ich schonmal verbunden war.

    Gibt es da ausser closesocket() noch andere Befehle und dergleichen ^^
    Sorry wenn es etwas verwirrt klang, aber der Code ist eben eher irrelevant für die Frage!



  • Ein Code-Ausschnitt würde immerhin Rückschlüsse darauf erlauben, ob du überhaupt im richtigen Forum bist. 'closesocket()' und 'WSAGetLastError' hört sich jedenfalls nicht nach VCL an.

    Und ohne konkret zu sehen, wie und womit du eine Verbindung herstellst, kann dir auch keiner sagen, wie man die Parameter der Verbindungs ändert.



  • Naja, ich habe nach dem passenden Forum gesucht, ich benutze Borland C++ Builder
    also wie sehr kann ich falsch liegen?

    Und naja, WSAGetLastError ist ein Winsock-standart und befindet sich in der winsock.h.
    Genauso ist closesocket() in der winsock.h und dieser Befehl ist wiederum Systemübergreifend.



  • Hallo

    Rubbles schrieb:

    Naja, ich habe nach dem passenden Forum gesucht, ich benutze Borland C++ Builder
    also wie sehr kann ich falsch liegen?

    Dieses Forum hier ist für Builder-spezifische Sachen gedacht. Also zum Beispiel im Zusammenhang mit TForm.
    Nur weil du den Builder benutzt heißt das noch lange nicht das alles hier rein gehört, denn mit dem Builder kann man auch ganz standard-konforme und plattformunabhängige Konsolenprogramme schreiben. Fragen dazu gehören aber ins C++ Forum.

    Und naja, WSAGetLastError ist ein Winsock-stan**** und befindet sich in der winsock.h.
    Genauso ist closesocket() in der winsock.h und dieser Befehl ist wiederum Systemübergreifend.

    All diese Funktionen gehören zur WinAPI. Ob das ein richtiger Standard ist sei dahingestellt, systemübergreifend ist er jedenfalls nicht. Auf Unix-Rechnern wirst du keine Datei "winsock.h" finden.

    Übrigens schreibt man Standard mit zwei d, dann wirds auch nicht zensiert.

    bis bald
    akari



  • Dieser Thread wurde von Moderator/in akari aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • verbinde dich doch mit b genauso wie mit a, indem du ein socket erstellst und dann conntectest


Anmelden zum Antworten