Indy10 TcpClient



  • Hallo zusammen

    Ich habe unter BCB6 eine TCP Client Server Anwendung, welche zwischen zwei _lokalen_ (127.0.0.1) Programmen Daten austauscht.
    Unter BCB6 mit Indy9 ist dies auch kein Problem.

    Nun habe ich auf BCB2009 mit Indy10 upgegradet, und es funktioniert nicht mehr.
    Wenn Client und Server jedoch auf zwei unterschiedlichen PCs laufen gibt es keine Probleme.

    Mit TCP View wird bei lokaler Ausführung mit Indy10 nach dem Connect zum Server CLOSE_WAIT bzw FIN_WAIT angezeigt.
    Wenn Client und Server auf zwei PCs ausgeführt werden wird in TCP View nach dem Connect ESTABLISHED angezeigt, wie bei Indy9.

    Ich hoffe Problem soweit verstanden, und nun zum Code:

    if(!TcpClient->Connected())
        {
            TcpClient->Connect();
        }
        try
        {
             TcpClient->IOHandler->WriteLn(Edit1->Text);    //(1)
             Memo1->Lines->Add("> " + Edit1->Text);
             Memo1->Lines->Add("< " + TcpClient->IOHandler->ReadLn());  //(2)
        }
        __finally
        {
            TcpClient->Disconnect();
        }
    

    Nach dem Ausführen von (1) wird in TCP View die Verbindung zwischen Client und Server getrennt, und somit nach (2) eine Exception "Software caused connection abort" geworfen.
    Ich weiß mir keinen Rat mehr.
    Kann mir irgendjemand helfen, bzw dieses Verhalten bestätigen?

    Vielen Dank im voraus.
    MfG Stephan


Anmelden zum Antworten