Entwickler-Ecke
WPF / Silverlight - LoginProtokoll für einen ICQ Clienten
ConSid3 - Di 19.07.11 21:24
Titel: LoginProtokoll für einen ICQ Clienten
Heyho
mich plagt Folgendes. Ich schreibe gerade einen LoginClient für ICQ, vom Programmablauf ist vieles schon fertig, es fehlen noch ein paar Kleinigkeiten.
Nun zum Problem, ich habe mich bereits dusselig gegooglet, ich finde einfach kein direktes Beispiel für einen Login Vorgang mit ICQ (in C#).
Ich hoffe ihr könnt mir da helfen das Protokoll in C# abzuarbeiten (
http://iserverd.khstu.ru/oscar/elmd5.html )
Um mein Anliegen noch weiter zu spezifizieren, ich suche einfach den ganz simplen Ablauf, bzw die dafür notwendigen Funktionen (connect -> icqblablabla.com, Empfangen von Daten und dessen Verwendung/Auslesung und das Senden von Daten, wie beispielsweise die uin und das pw beim login, anschließend eine msg oder ähnliches)
Würde mich freuen wenn ich es aufgrund eurer Hilfe bald mal hinbekommen würde.
Danke im Voraus,
ConSid3
ConSid3 - Sa 23.07.11 16:16
Kann mir da niemand helfen? Kennt wenigstens jemand ein C# Buch über Networking, auf deutsch kann ich keins finden, und über 600 Seiten zu dem Thema in englisch durchzuhacken ist mir zu heftig.
Trashkid2000 - Sa 23.07.11 17:51
Hallo,
naja, das ganze Protokoll selber schreiben?
Ich habe da mal eine nette dll Namens "OscarLib" gefunden. Diese ist auch bei dem Client "shaim" dabei.
Die Seite von shaim ist hier:
http://shaim.net
Und hier mal ein Beispielcode:
C#-Quelltext
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:
| static void Main(string[] args) { Session icqSession = new Session("Icq-Nummer", "Password"); icqSession.LoginStatusUpdate += new LoginStatusUpdateHandler(icqSession_LoginStatusUpdate); bool loginFailed = false; icqSession.Logon("login.icq.com", 5190); icqSession.LoginFailed += (x, y) => { Console.WriteLine(string.Format("Login failed. Errorcode: {0}", y)); loginFailed = true; }; while (!icqSession.LoggedIn && !loginFailed) Thread.Sleep(1000);
if (icqSession.LoggedIn) { Console.WriteLine("Login successful"); }
if (icqSession.LoggedIn) icqSession.Logoff();
Console.ReadKey(); }
static void icqSession_LoginStatusUpdate(Session sess, string message, double percentdone) { Console.WriteLine(message); } |
LG,
ConSid3 - So 24.07.11 22:24
Also danke für die Antwort,
um ganz ehrlich zu sein, würde ich es tatsächlich gerne selbst schreiben, denn unter Umständen möchte ich den Client nach der Fertigstellung in den Marketplace laden und bin mir der rechtlichen Dinge was Libs von anderen angeht nicht sicher. Dazu kommt noch, dass ich selbst in der Lage sein möchte den Client nach einem Server Update auf den neusten Stand zu bringen und nicht erst auf eine neue Lib von jemanden zu warten.
Trotz alledem danke für die Antwort, ist der direkte Quellcode der Lib irgendwie ersichtlich?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!