Icq клиент на C#

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by masbear, 4 Aug 2008.

  1. masbear

    masbear Elder - Старейшина

    Joined:
    4 Aug 2008
    Messages:
    81
    Likes Received:
    7
    Reputations:
    1
    Появилась надобность написать icq клиент на C#, порыскался в нете, нашел только icq#, но он не работает, да и документации нет. Написал автору, молчит. Есть ещё C исходники Miranda, но я посмотрел - такая жуть (сам я избалован элегантным C#). Так что вот. Но надо бы ещё найти информацию по icq протоколу и вообще как с этим всем работать в C#.
     
  2. FenTaylor

    FenTaylor New Member

    Joined:
    4 Aug 2008
    Messages:
    3
    Likes Received:
    1
    Reputations:
    0
    Информация о протоколе:

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

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

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

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

    http://www.rejetto.com/&RQ/
     
    #2 FenTaylor, 4 Aug 2008
    Last edited: 4 Aug 2008
  3. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    вуаахаха )))) мне самому нравится с# пишу на нем. но после знакомства с руби и питоном. элегантным его назвать язык не повернется )))

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

    Jes Elder - Старейшина

    Joined:
    16 Apr 2007
    Messages:
    370
    Likes Received:
    391
    Reputations:
    34
    2 masbear
    http://ru.wikipedia.org/wiki/OSCAR_(протокол)
    (чет прямую ссылку блочит =/ )
     
  5. masbear

    masbear Elder - Старейшина

    Joined:
    4 Aug 2008
    Messages:
    81
    Likes Received:
    7
    Reputations:
    1
    Спасибо, ознакомился с этим OscarLib, но там пример WinForms не идет. Чтож приннимаюсь за подробное изучение этого протокола и работу с протоколами в C#. Результаты выложу где-то через неделю.
    P.S. Имхо у руби и питона синтаксис какой-то непривычный. {} как-то роднее...
     
  6. masbear

    masbear Elder - Старейшина

    Joined:
    4 Aug 2008
    Messages:
    81
    Likes Received:
    7
    Reputations:
    1
    Скачал я этот shaim. Он затребовал 3 framework. Установил. Как работает программа, так и не понял. Но там меня заинтересовали 3 dll в папке protocol: JabberLib.dll, MsnLib.dll, OscarLib.dll. Очевидно, что именно с их помощью осуществляется передача мессагов. Но примеров использования не было. Я ввел в гугл кодсёрч lang:C# using jabber.client; и так для всех namespace'ов но он ничего не нашел. Может кто-нибудь привести пример работы с этими библиотеками?
     
    1 person likes this.
  7. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    ты не сам шаим а его сорцы скачай. там же вроде есть они.
     
  8. masbear

    masbear Elder - Старейшина

    Joined:
    4 Aug 2008
    Messages:
    81
    Likes Received:
    7
    Reputations:
    1
    Ссалка на сорсы битая =(
    P.S. Reflector рулит =)
     
  9. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    вот не надо... и на сорцы есть ссылка http://shaim.net/trac/trac.fcgi/shaim/attachment/wiki/0.4%20Release/shaim-0.4.src.zip?format=raw ..
    рабочая... и их сабвершна можно сорс скачать.
     
    2 people like this.
  10. masbear

    masbear Elder - Старейшина

    Joined:
    4 Aug 2008
    Messages:
    81
    Likes Received:
    7
    Reputations:
    1
    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
     
  11. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    ^)))) мдяя.. качай из сабвершна .. в чем проблема ??
    установи клиент... TortoiseSVN например. под винды.
     
  12. masbear

    masbear Elder - Старейшина

    Joined:
    4 Aug 2008
    Messages:
    81
    Likes Received:
    7
    Reputations:
    1
    Короче не работает этот шайм. Зашел им на свою аську, да котнакты мои все отобразились. Отпарвил себе навторой контакт, вышел, зашел через кфип - не пришло. Вобщем фигня этот shaim и этот oscarlib И icq#. Нет ничего лучше сделанного своими руками ))
    слышал, есть проги, которыми можно отслеживать сообщения icq (сниферы). я думал они и протокол в работе покажут, но нет. нет ли проги, которая может показать, какие данные отправляются на сервер, какие принимаются. ведь icq - закрытый протокол, и открытого описания его послдней 11 версии нет.
     
  13. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Покажи свой, сделанный своими руками? )
    Этими то пользоваться научился бы )
     
  14. masbear

    masbear Elder - Старейшина

    Joined:
    4 Aug 2008
    Messages:
    81
    Likes Received:
    7
    Reputations:
    1
    Покажу, и у меня будет не хуже.
    Если думаешь что я лох какой то, то ошибаешься. Я что, не могу воспользоваться сторонней библиотекой, и при некорректной ее работе решить написать свою? Это означает, что я ламер?
     
  15. razzzar

    razzzar Elder - Старейшина

    Joined:
    16 Jun 2007
    Messages:
    92
    Likes Received:
    75
    Reputations:
    5
    masbear, как нету протокола в паблике? с этого года есть :)
    http://dev.aol.com/aim/oscar/
     
  16. Don Anton

    Don Anton Elder - Старейшина

    Joined:
    28 Feb 2008
    Messages:
    35
    Likes Received:
    121
    Reputations:
    4
    интересно....сам тоже над этим подумываю
     
  17. masbear

    masbear Elder - Старейшина

    Joined:
    4 Aug 2008
    Messages:
    81
    Likes Received:
    7
    Reputations:
    1
    Вобщем долго рылся в этом OscarLib, получилось, наконец, отправить сообщение. Вот код, если кому-то интересно:

    Code:
    
                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("Сообщение отправлено");
                }
    
    
    Теперь надо разобраться, как осуществлять поиск, и, считай клиент готов.
     
  18. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Как минимум это означает что тебе хочется делать лишнюю работу.
    Мог бы просто поправить несколько строк в чужой библиотеке.

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

    ForNeVeR Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    67
    Likes Received:
    31
    Reputations:
    0
    Есть клиент IMadering, в нём имеется функция записи всех входящих-исходящих пакетов. Должно помочь.
     
    #19 ForNeVeR, 19 Aug 2008
    Last edited: 19 Aug 2008
  20. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    а как же своя либа ?? )))) или уже за слова отвечать не модно ?