Выкладываю свой класс для работы с ICQ (протокол OSCAR). Может быть кому-нибудь пригодится.
Класс написан с использованием чистого Windows API и поэтому программы на его основе имеют очень небольшой размер.
Функционал класса небольшой:
* Логин к серверу ICQ
* Смена статуса
* Отправка сообщений
* Приём сообщений
Но для решения простых задач, например написания ботов, он вполне подойдет. С его помощью к примеру была написана программа скрытого администрирования с управлением через ICQ.
Объявить класс SICQ, а затем методом SetWindowsHandle() установить дескриптор окна, которое будет получать сообщения. Формат сообщений описан подробно в документации: http://hors.googlecode.com/files/Documentation.pdf
Обработчики этих сообщений необходимо реализовать самому. Для программистов имевших дело с чистым WinAPI и С/C++/assembler это не составит особого труда.
Важно: класс использует Windows Socket функции, поэтому перед использованием класса в программе нужно загрузить WinSocket Library:
а по окончанию работы её выгрузить
Или же использовать _LoadWS, _UnloadWS из Net.h/Net.cpp
Пример использования класса: http://hors.googlecode.com/files/SimpleClient.zip
Если скомпилировать приложение на основе этого класса в отладочной конфигурации(DEBUG), то приложение во время своего выполнения будет слать отладчику отладочные сообщения. Например количество отосланных/принятых байт, типы пакетов, содержимое пакетов.
Например:
Класс можно свободно использовать в коммерческих или некоммерческих целях, с открытым исходным кодом или нет. Вы используете этот класс и программы написанные с его помощью на свой страх и риск, автор не несет никакой ответственности за возможные последствия или отсутствие оных.
Если есть вопросы или предложения по улучшению кода, то horsicq (at) gmail. com
Страница проекта: http://code.google.com/p/hors/
Документация: http://hors.googlecode.com/files/Documentation.pdf
Пример работы: http://hors.googlecode.com/files/SimpleClient.zip
Класс написан с использованием чистого Windows API и поэтому программы на его основе имеют очень небольшой размер.
Функционал класса небольшой:
* Логин к серверу ICQ
* Смена статуса
* Отправка сообщений
* Приём сообщений
Но для решения простых задач, например написания ботов, он вполне подойдет. С его помощью к примеру была написана программа скрытого администрирования с управлением через ICQ.
Как использовать класс.
Объявить класс SICQ, а затем методом SetWindowsHandle() установить дескриптор окна, которое будет получать сообщения. Формат сообщений описан подробно в документации: http://hors.googlecode.com/files/Documentation.pdf
Обработчики этих сообщений необходимо реализовать самому. Для программистов имевших дело с чистым WinAPI и С/C++/assembler это не составит особого труда.
Важно: класс использует Windows Socket функции, поэтому перед использованием класса в программе нужно загрузить WinSocket Library:
PHP:
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(2, 2);
err = WSAStartup(wVersionRequested, &wsaData);
if (err != 0)
{
printf("WSAStartup failed with error: %d\n", err);
return 1;
}
PHP:
WSACleanup();
Или же использовать _LoadWS, _UnloadWS из Net.h/Net.cpp
Пример использования класса: http://hors.googlecode.com/files/SimpleClient.zip
Отладка.
Если скомпилировать приложение на основе этого класса в отладочной конфигурации(DEBUG), то приложение во время своего выполнения будет слать отладчику отладочные сообщения. Например количество отосланных/принятых байт, типы пакетов, содержимое пакетов.
Например:
Можно для этого также использовать утилиту DbgView. http://technet.microsoft.com/en-us/s.../bb896647.aspxClose Socket
BOS Server connection
Create Socket
Connect
Server IP: 64.12.25.162
Server port: 5190
Recv 6(6) bytes
Recv 4(4) bytes
----------[recv]---------------
Packet Size 10(A) bytes
0000|2A01F20600040000
0008|0001
-------------------------------
It's Hello Packet
Create Cookies Packet
Send 270(10E) bytes
Лицензия.
Класс можно свободно использовать в коммерческих или некоммерческих целях, с открытым исходным кодом или нет. Вы используете этот класс и программы написанные с его помощью на свой страх и риск, автор не несет никакой ответственности за возможные последствия или отсутствие оных.
Контакт.
Если есть вопросы или предложения по улучшению кода, то horsicq (at) gmail. com
Страница проекта: http://code.google.com/p/hors/
Документация: http://hors.googlecode.com/files/Documentation.pdf
Пример работы: http://hors.googlecode.com/files/SimpleClient.zip