Results 1 to 7 of 7

Thread: Verbinding verloren

  1. #1

    Verbinding verloren

    Hoi Jelmer,

    Eerst complimenten voor je tool. Echter ik loop tegen een probleem aan.

    Ik had een applicatie gemaakt, waarmee ik via MSN remote opdrachten mee kan uitvoeren. De versie die ik in Juni gemaakt heb, draait ook prima. Echter, nu ik een nieuwe build heb gemaakt, is na een paar minuten de verbinding weg. Ook het downloaden en installeren van de recentste versie van NLDMSNP heeft niet geholpen. Ik hoopte nog op een bug in de firewall settings van mijn machine, maar ook de machine waar het programma op draaide, werkt het niet.

    Ik log nu extra op disconnect, maar die ontvang ik niet. Echter degene die een bericht wilt zenden, zegt na een minuut dat het bericht niet bij de geadresseerde bezorgd kon worden, en mijn pakket wordt als off-line getoont.

    Ik snap niet wat ik fout doe, aangezien de initiële aanpassingen buiten het MSN-gebeuren om is aangepast. Dus het lijkt erop dat ik een of andere instelling niet goed meer heb staan in mijn Delphi. Alleen ik zou niet weten waar.

    Ik laat nu zelfs de ondebug alles naar een bestand schrijven, maar ook hier is geen verklaring te vinden. Tussen het werken en het verliezen van de verbinding is er totaal geen andere communicatie.

    Kun jij of iemand anders mij zeggen hoe dom ik ben dat ik instelling X heb veranderd (en wat de juiste instelling voor die X dan ook is)

    Alvast bedankt!

  2. #2
    Ter uitbreiding van mijn uitleg:

    Ik heb een kleine test-app gemaakt. Hierop heb ik memo1 en memo2 staan. De eerste voor het loggen, de tweede voor de inkomende berichten. Daarnaast zijn er edit1 en edit2 voor de inlognaam (hotmail adres) en het wachtwoord. Dan zijn er nog button1 voor het inloggen en button2 voor het sluiten van de app.

    De code hiervan hieronder. Als ik deze uitvoer, ontvangt hij de berichten in memo2. Echter, als ik 5 minuten (of zelfs minder) wegloop, en dan (weer) een bericht stuur, komt er niets meer aan, en krijgt de zender uiteindelijk de melding dat de verbinding verbroken was.

    Code:
    unit Umain;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, MSNProtocol, NLDMSNP;
    
    type
      TForm1 = class(TForm)
        msn: TNLDMSNP;
        Memo1: TMemo;
        Label1: TLabel;
        Label2: TLabel;
        Edit1: TEdit;
        Edit2: TEdit;
        Memo2: TMemo;
        Button1: TButton;
        Button2: TButton;
        procedure msnConnected(Sender: TObject);
        procedure msnDebug(Sender: TObject; DebugText: String);
        procedure msnDisconnected(Sender: TObject);
        procedure msnError(Sender: TObject; const ErrorCode: Integer);
        procedure msnIncomingMessage(Sender: TObject; Session: TMSNSession;
          FromUser: TMSNUser; Text: String; Font: TFont);
        procedure msnLoginError(Sender: TObject);
        procedure msnReady(Sender: TObject);
        procedure msnSessionReady(Sender: TObject; Session: TMSNSession);
        procedure msnUserAddedToList(Sender: TObject; List: TMSNList;
          User: TMSNUser);
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.DFM}
    
    procedure TForm1.msnConnected(Sender: TObject);
    begin
      Memo1.Lines.Add('CONNECTED');
    end;
    
    procedure TForm1.msnDebug(Sender: TObject; DebugText: String);
    begin
      Memo1.Lines.Add(DebugText);
    end;
    
    procedure TForm1.msnDisconnected(Sender: TObject);
    begin
      try
        Memo1.Lines.Add('Reconnecting');
        msn.Passport  := edit1.text;
        msn.Password  := edit2.text;
    //    msn.Logon;
      except
        Memo1.Lines.Add('CONNECTION FAILURE');
      end;
    end;
    
    procedure TForm1.msnError(Sender: TObject; const ErrorCode: Integer);
    begin
      Memo1.Lines.Add('ERROR ' + inttostr(ErrorCode) + ' occured');
    
    end;
    
    procedure TForm1.msnIncomingMessage(Sender: TObject; Session: TMSNSession;
      FromUser: TMSNUser; Text: String; Font: TFont);
    begin
      memo2.lines.add(trim(uppercase(Text)));
    end;
    
    procedure TForm1.msnLoginError(Sender: TObject);
    begin
      Memo1.Lines.Add('LOGIN FAILED');
    
    end;
    
    procedure TForm1.msnReady(Sender: TObject);
    begin
      msn.AcceptAllSessions := True;
      msn.Displayname       := 'T-E-S-T';
    end;
    
    procedure TForm1.msnSessionReady(Sender: TObject; Session: TMSNSession);
    begin
      Memo1.Lines.Add('SESSION READY');
    
    end;
    
    procedure TForm1.msnUserAddedToList(Sender: TObject; List: TMSNList;
      User: TMSNUser);
    begin
      Case list of
        blReverseList : begin
                          msn.AddUserToList(blAllowList,User.Passport,User.Displayname);
                        end;
      end;
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      msn.Passport  := edit1.text;
      msn.Password  := edit2.text;
      msn.Logon;
    
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      msn.LogOff;
      close;
    end;
    
    end.
    Wie ziet er wat ik fout doe? (en wat is dat dan?)
    Last edited by Dees; 18-Dec-06 at 17:14.

  3. #3
    Ok, ik DENK te weten waar het aan KAN liggen. Sinds kort draait er hier een andere firewall. Ik heb namelijk zojuist de bovenstaande test-app remote bij mijn moeder op de computer gezet, en daar blijkt alles na een kleine 20 minuten nog steeds goed te draaien.

    Dus ik trek nu de conclusie dat die firewall het probleem is. (ik kan hem er hier niet tussenuit trekken om te testen) Mijn normale MSN blijft echter in de lucht. Zend die soms een keer per minuut een soort ping uit (keep alive) om de verbinding door een firewall open te houden? Zo ja, hoe kan ik dat reproduceren?

  4. #4

  5. #5
    Bedankt Dees,

    dan nog een toegevoegde vraag:
    Ik had ook Jelmer Vos direct bereikt hierover, maar ik begrijp dat hij er al lang niet meer aan werkt. Waar komen dan de updates vandaan? Ik zag namelijk nog een nieuwe versie van 15-12 online staan die ik gebruikt heb...

  6. #6
    De open source sectie van NLDelphi bevat -zoals de naam al zegt- open source. Deze kan door meerdere mensen gewijzigd worden in FreeVCS, het versiebeheersysteem achter de open source sectie. Wanneer er code is gewijzigt, en blijkbaar zelfs als dat niet gebeurt, wordt er een update als zip-file op de FTP server gezet. Zoals je ziet is deze zipfile als sinds 24-06-2004 exact even groot gebleven.
    1+1=b

  7. #7
    Aha. Nee, ik had niet naar de zip-grootes gekeken. Weer wat wijzer. Bedankt

    (trouwens iedereen fijne dagen toegewenst)

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •