Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Icq клиент на C# (https://forum.antichat.xyz/showthread.php?t=79678)

masbear 04.08.2008 22:41

Icq клиент на C#
 
Появилась надобность написать icq клиент на C#, порыскался в нете, нашел только icq#, но он не работает, да и документации нет. Написал автору, молчит. Есть ещё C исходники Miranda, но я посмотрел - такая жуть (сам я избалован элегантным C#). Так что вот. Но надо бы ещё найти информацию по icq протоколу и вообще как с этим всем работать в C#.

FenTaylor 04.08.2008 22:56

Информация о протоколе:

http://iserverd.khstu.ru/oscar/

Компонент для работы с icq на C# (кажется даж апдейтенный) был тут:

http://www.gotdotnet.ru/Forums/Common/318944.aspx

Ну плюс еще открытые сорцы &RQ:

http://www.rejetto.com/&RQ/

geezer.code 05.08.2008 11:17

Цитата:

Сообщение от masbear
сам я избалован элегантным C#

вуаахаха )))) мне самому нравится с# пишу на нем. но после знакомства с руби и питоном. элегантным его назвать язык не повернется )))

по сабжу...
http://shaim.net/ вот месяц назад всьо работало.

Jes 05.08.2008 13:42

2 masbear
http://ru.wikipedia.org/wiki/OSCAR_(протокол)
(чет прямую ссылку блочит =/ )

masbear 05.08.2008 17:21

Спасибо, ознакомился с этим OscarLib, но там пример WinForms не идет. Чтож приннимаюсь за подробное изучение этого протокола и работу с протоколами в C#. Результаты выложу где-то через неделю.
P.S. Имхо у руби и питона синтаксис какой-то непривычный. {} как-то роднее...

masbear 08.08.2008 11:10

Скачал я этот shaim. Он затребовал 3 framework. Установил. Как работает программа, так и не понял. Но там меня заинтересовали 3 dll в папке protocol: JabberLib.dll, MsnLib.dll, OscarLib.dll. Очевидно, что именно с их помощью осуществляется передача мессагов. Но примеров использования не было. Я ввел в гугл кодсёрч lang:C# using jabber.client; и так для всех namespace'ов но он ничего не нашел. Может кто-нибудь привести пример работы с этими библиотеками?

geezer.code 08.08.2008 11:14

Цитата:

Сообщение от masbear
Скачал я этот shaim. Он затребовал 3 framework. Установил. Как работает программа, так и не понял. Но там меня заинтересовали 3 dll в папке protocol: JabberLib.dll, MsnLib.dll, OscarLib.dll. Очевидно, что именно с их помощью осуществляется передача мессагов. Но примеров использования не было. Я ввел в гугл кодсёрч lang:C# using jabber.client; и так для всех namespace'ов но он ничего не нашел. Может кто-нибудь привести пример работы с этими библиотеками?

ты не сам шаим а его сорцы скачай. там же вроде есть они.

masbear 08.08.2008 12:54

Ссалка на сорсы битая =(
P.S. Reflector рулит =)

geezer.code 08.08.2008 12:59

Цитата:

Сообщение от masbear
Ссалка на сорсы битая =(
P.S. Reflector рулит =)

вот не надо... и на сорцы есть ссылка http://shaim.net/trac/trac.fcgi/shaim/attachment/wiki/0.4%20Release/shaim-0.4.src.zip?format=raw ..
рабочая... и их сабвершна можно сорс скачать.

masbear 08.08.2008 13:19

http://shaim.net/trac/oscarlib =>
To get the bleeding edge source code, download it from our Subversion repository at svn://shaim.net:41120/oscarlib/trunk - невозможно отобразить страницу
За рабочую ссылку +1

geezer.code 08.08.2008 13:32

Цитата:

Сообщение от masbear
http://shaim.net/trac/oscarlib =>
To get the bleeding edge source code, download it from our Subversion repository at svn://shaim.net:41120/oscarlib/trunk - невозможно отобразить страницу
За рабочую ссылку +1

^)))) мдяя.. качай из сабвершна .. в чем проблема ??
установи клиент... TortoiseSVN например. под винды.

masbear 08.08.2008 14:03

Короче не работает этот шайм. Зашел им на свою аську, да котнакты мои все отобразились. Отпарвил себе навторой контакт, вышел, зашел через кфип - не пришло. Вобщем фигня этот shaim и этот oscarlib И icq#. Нет ничего лучше сделанного своими руками ))
слышал, есть проги, которыми можно отслеживать сообщения icq (сниферы). я думал они и протокол в работе покажут, но нет. нет ли проги, которая может показать, какие данные отправляются на сервер, какие принимаются. ведь icq - закрытый протокол, и открытого описания его послдней 11 версии нет.

nerezus 10.08.2008 12:54

Цитата:

Вобщем фигня этот shaim и этот oscarlib И icq#. Нет ничего лучше сделанного своими руками ))
Покажи свой, сделанный своими руками? )
Этими то пользоваться научился бы )

masbear 10.08.2008 22:27

Цитата:

Сообщение от nerezus
Покажи свой, сделанный своими руками? )

Покажу, и у меня будет не хуже.
Если думаешь что я лох какой то, то ошибаешься. Я что, не могу воспользоваться сторонней библиотекой, и при некорректной ее работе решить написать свою? Это означает, что я ламер?

razzzar 10.08.2008 22:41

masbear, как нету протокола в паблике? с этого года есть :)
http://dev.aol.com/aim/oscar/

Don Anton 10.08.2008 22:44

интересно....сам тоже над этим подумываю

masbear 12.08.2008 10:18

Вобщем долго рылся в этом OscarLib, получилось, наконец, отправить сообщение. Вот код, если кому-то интересно:

Код:


            Session sess = new Session("uin", "pass");
            sess.LoginCompleted += new LoginCompletedHandler(sess_LoginCompleted);
            sess.LoginFailed += new LoginFailedHandler(sess_LoginFailed);
            sess.ContactListFinished += new ContactListFinishedHandler (sess_ContactListFinished);
            sess.ClientCapabilities = Capabilities.SIMKopete | Capabilities.UTF8;
            sess.Logon("login.icq.com", 5190);
            sess.ActivateBuddyList();
        }

        void sess_ContactListFinished(Session sess, DateTime lastModificationDate)
        {
            MessageBox.Show("Recieved Contact List");
        }

        private void button2_Click(object sender, EventArgs e)
        {
                try
                {
                    sess.Messages.SendMessage("421003132", "hello");
                    MessageBox.Show("Message was sent");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }           
                MessageBox.Show("Сообщение отправлено");
            }

Теперь надо разобраться, как осуществлять поиск, и, считай клиент готов.

nerezus 14.08.2008 15:28

Цитата:

Это означает, что я ламер?
Как минимум это означает что тебе хочется делать лишнюю работу.
Мог бы просто поправить несколько строк в чужой библиотеке.

А так как ты начал писать свое, не оценив работу других библиотек - то это говьорит уже о профессионализме. Или точнее о его нехватке.

ForNeVeR 19.08.2008 10:53

Цитата:

нет ли проги, которая может показать, какие данные отправляются на сервер, какие принимаются.
Есть клиент IMadering, в нём имеется функция записи всех входящих-исходящих пакетов. Должно помочь.

geezer.code 22.08.2008 15:06

Цитата:

Сообщение от masbear
Вобщем долго рылся в этом OscarLib, получилось, наконец, отправить сообщение. Вот код, если кому-то интересно:
Теперь надо разобраться, как осуществлять поиск, и, считай клиент готов.

а как же своя либа ?? )))) или уже за слова отвечать не модно ?


Время: 19:52