[MSN/DELPHI] Geen antwoord van server

Pagina: 1
Acties:

  • MidnightMotion
  • Registratie: April 2002
  • Laatst online: 03-04-2022
Ik ben een pogin aan 't doen te communiceren met de MSN server (Via Delphi 6) maar ik krijg geen verbinding met messenger.msn.com op poort 1863, als ik bv mail.zeelandnet.nl open op poort 25 krijg ik wel antwoord (met een TClientSocket).

Is het nog wel mogelijk om op deze manier met de msn server te communiceren of doe ik iets fout?

Eigenaar van domoticavergelijken.info


  • LegacyCode
  • Registratie: Maart 2002
  • Laatst online: 23-08 14:55

LegacyCode

De crack van de division

Mailserver geeft altijd meteen een antwoord na connectie. MSN niet,
daar moet je eerst zelf een commando sturen.
Zie de MSN SDKs op developer forum van microsoft.

legacycode.net


  • MidnightMotion
  • Registratie: April 2002
  • Laatst online: 03-04-2022
Ik krijg niet eens verbinding volgens mij, ik stuur ook ghet volgende: VER 31 MSNP8 CVR0 en dit zou goed moeten zijn maar nog steeds geen antwoord!

Eigenaar van domoticavergelijken.info


  • LegacyCode
  • Registratie: Maart 2002
  • Laatst online: 23-08 14:55

LegacyCode

De crack van de division

Mmh al eens geprobeerd op messenger.hotmail.com ?

legacycode.net


  • MidnightMotion
  • Registratie: April 2002
  • Laatst online: 03-04-2022
Daar krijg ik wel verbinding mee maar die geeft een asynchronous error 10054 na het versturen van de connectie string, nog steeds geen antwoord dus...

Eigenaar van domoticavergelijken.info


  • LegacyCode
  • Registratie: Maart 2002
  • Laatst online: 23-08 14:55

LegacyCode

De crack van de division

Nja die messenger.hotmail.com verwijst weer door naar een bepaalde server.
Als je MSN op hebt staan, kan je eens met commando 'Netstat -a' kijken met welke
server je geconnecteerd bent. Probeer dan eens met je delphi proggel op die server te connecteren.

legacycode.net


Verwijderd

De socket implementatie die je gebruikt maakt gebruikt van events denk ik
om asynchroon tcp messages op te vangen. Je kan ook van synchrone socket
implementaties gebruik maken zoals Indy en WSocket. Waarschijnlijk stuur je
niet de juiste informatie,in de verkeerde volgorde of te laat op, en wordt de
connectie verbroken omdat je niet volgens het protocol te werk gaat.
Winsock error 10054 betekent dat de connectie gereset is, haal ff een lijstje
van Winsock errors op.

Kijk ook eens naar
http://www.howtodothings.com/showarticle.asp?article=523

  • MidnightMotion
  • Registratie: April 2002
  • Laatst online: 03-04-2022
Thanx voor de info, ik krijg het nog niet voor elkaar maar ik ga er weer vrolijk mee verder knoeien...

Eigenaar van domoticavergelijken.info


Verwijderd

Ik neem aan dat je al een MD5 implementatie hebt...
voor een uitgebreide protocol beschrijving van MSN zie
http://www.venkydude.com/articles/msn.htm

  • MidnightMotion
  • Registratie: April 2002
  • Laatst online: 03-04-2022
Verwijderd schreef op 15 maart 2003 @ 14:12:
Ik neem aan dat je al een MD5 implementatie hebt...
voor een uitgebreide protocol beschrijving van MSN zie
http://www.venkydude.com/articles/msn.htm
Die had ik al idd, dat is het probleem niet (denk ik :)) Eerst verbinding en dan maar eens verder kijken!

Eigenaar van domoticavergelijken.info


Verwijderd

Ik heb dit een keer gebouwd, en dat werkte prima (maar is misschien wel dirty):

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
const
  DefaultHost       = 'messenger.hotmail.com';
  DefaultPort       = 1863;

function TidMSNClient.Connect: Boolean;
var
  return            : string;
  transferred       : Boolean;
begin
  Result := False;
  NSClient.Host := DefaultHost;
  NSClient.Port := DefaultPort;
  NSClient.Connect;

  repeat
    transferred := False;
    try
      SendString(CommandVER, 'MSNP2');
      ReadStringBlocking;

      SendString(CommandINF, '');
      ReadStringBlocking;

      SendString(CommandUSR, 'MD5 I ' + username);
      return := ReadStringBlocking;

      return := Trim(strright(return, Length(return) - ansiposLast(' ', return))) +
        password;

      return := GetMD5(return);
      SendString(CommandUSR, 'MD5 S ' + return);

      return := ReadStringBlocking;
      return := Trim(strright(return, Length(return) - ansipos(' ', return)));
      return := Trim(strright(return, Length(return) - ansipos(' ', return)));
      if Trim(StrLeft(return, AnsiPos(' ', return))) <> 'OK' then
      begin
        if NSClient.Connected then NSClient.Disconnect;
        logged_in := False;
        Result := False;
      end
      else
      begin
        return := Trim(strright(return, Length(return) - ansipos(' ', return)));
        return := Trim(strright(return, Length(return) - ansipos(' ', return)));
        NickName := Trim(return);
        SetState('NLN');
        logged_in := true;
{$ifdef use_timer}
        Timer.Enabled := True;
{$endif}
{$ifdef use_thread}
        idMSNClientThread.Resume;
{$endif}
        Result := True;
        if Assigned(fOnConnect) then fOnConnect(self);
      end;
    except
      transferred := True;
    end;
  until not transferred;
end;

[ Voor 6% gewijzigd door Verwijderd op 15-03-2003 14:27 ]


  • misfire
  • Registratie: Maart 2001
  • Laatst online: 08-07 20:56
Stuur je ook een carriage return/newline mee op het einde van je command string? In het MSN protocol sluit je hier altijd mee af. Ik heb zelf ook een keer een testapp gemaakt en toen was dat voor mij het probleem...

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Kijk anders hier ook eens naar, is een implementatie van het MSN protocol in Delphi (werkt wel met Indy).

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • MidnightMotion
  • Registratie: April 2002
  • Laatst online: 03-04-2022
Mensen, allemaal bedankt! Vooral MisFire die het antwoord had! Domme, ik wist het eigenlijk maar gewoon niet meer aan gedacht! Als ik er nog wat nuttigs mee doe dan horen jullie het :)

Eigenaar van domoticavergelijken.info

Pagina: 1