Eigenaar van domoticavergelijken.info
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.
daar moet je eerst zelf een commando sturen.
Zie de MSN SDKs op developer forum van microsoft.
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
Mmh al eens geprobeerd op messenger.hotmail.com ?
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
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.
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.
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
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
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
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 ikVerwijderd 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
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 ]
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...
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."
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