Reconnect nach "Connection:Close"



  • Hallo Luete.
    Ich Hab n Programm geschreiben, dass über Sockets HTTP Seiten läd. Nun ist das Problem ich lade wirklich viele Seiten. (is ne Datenbankanwendung) Und der Server hat nicht die Möglichkeit Connections aufrecht zu erhalten (kein keep-alive möglich)...d.h. nach jedem Zyklus muss ich doch dann n Reconnect machen oder ?

    Wie mach ich das nun ohne dass ich Zeit verschwende und ohne dass ich ressourcen verschwende.

    Muss ich da jedesmal closesocket aufrufen und mit socket n neues erstellen ? Weil des is wirklich lahm.

    (die Bedingungen sin vorgegeben...da kann ich nix ändern)

    Gruß



  • closesocket klingt nach winapi!?
    wenn du uns sagen würdest, welche api/framework/... du nutzt, könnte man dir evtl weiterhelfen (doku lesen etc) - pures c++ ist das jedenfalls nicht ;o)

    bb



  • Oh sorry ja WinAPI passt 🙂

    Die Verbidnung stell ich z.B. so her:

    int iReturnCode = WSAStartup(MAKEWORD(2,0),&wsa);
      if (iReturnCode != 0)//Fehler
      {
           return false;
      }
      sock = socket(AF_INET,SOCK_STREAM,0);
      if (sock == INVALID_SOCKET)
      {
           return false;
      }
    

    Gruß Jens


  • Administrator

    Jensiboy schrieb:

    d.h. nach jedem Zyklus muss ich doch dann n Reconnect machen oder ?

    Jap.

    Jensiboy schrieb:

    Muss ich da jedesmal closesocket aufrufen und mit socket n neues erstellen ?

    Nicht closesocket , sondern DisconnectEx :
    http://msdn.microsoft.com/en-us/library/ms737757.aspx

    Und danach nicht neu erstellen, sondern einfach die Verbindung über ConnectEx wieder neu aufbauen.

    Grüssli


Log in to reply