На сервере:
1) Запускаем плагин, плагин начинает слушать порт 9756 и принимать подключения на этот порт.
Теперь для чего он:
1) Дает возможность писать плагины на чем угодно, на ВСЕХ абсолютно языках которые позволяют работать с сокетами (php, python, ruby, C# и все другие).
2) При разработки не надо изучать API плагина, API он свой не использует, плагин - транслятор, тупо перекидывает команды серверу, ждет выполнения\результата и отправляет ответ на сокет запросивший команду.
3) Не надо думать о синхронизации потоков, плагин потокобезопасен и позволяет работать одновременно с 150 подключениями (ограничений нету)
4) Ну а самый большой плюс в том, что плагин находится в другом процессе, независимым от сервера (никак не может повлиять на работу сервера). Плагин можно запустить даже на другом компьютере и подключить к серверу удаленно...
Теперь о том как его использовать:
1) Подключаемся к IP сервера на порт 9756
Код: Выделить всё
//
// Получаемые команды от сервера
#define SID_ERROR_CODE 1 // число(номер ошибки)
#define SID_COMM_PROC_OK 2 // число(UID)
#define SID_COMM_GET_OK 3 // число(UID) + блок данных (входящий)
#define SID_COMM_GET_SIZE_OK 4 // число(UID) + число(размер буфера)
#define SID_COMM_PROC 5 // число(ID) + блок данных
//
// Отправляемые команды на сервер
#define BID_COMM_PROC 1 // число(ID) + число(UID) + блок данных
// RESULT: SID_COMM_PROC_OK
#define BID_COMM_GET 2 // число(ID) + число(UID) + блок данных (исходящий)
// RESULT: SID_COMM_GET_SIZE_OK
#define BID_COMM_GET_SIZE 3 // число(ID) + число(UID) + блок данных (исходящий)
// RESULT: SID_COMM_GET_OK
//done
число(ID) - ID команды (например Подключить виртуального пользователя это ID 1001)
число(UID) - любое уникальное число, для идентификации команд, можно использовать обычный счетчик, слуэит для того чтобы в ответе от сервера идентифицировать запрашиваемую команду, тем самым отследив результат ее выполнения
блоки данных - из документации по API коммфорта
Также прикрепляю бота написанного на PHP, который успешно подключается к серверу, получает команды и инициирует новые.
Теперь внимание (!)
Бот не использует никаких защит от подключения посторонних, не нужных клиентов, потому что это не сложно сделать файрволлом .. Разрешаем подключения на порт 9756 только для доверенных IP. Обязательно ограничьте!
Еще сделал мини программку которая может запускать все плагины серверные под себя и прозрачно пропускать их через сокет, тем самым обезопасив сервер от всех проблем (утечки, загрузки) + удобно перезапускать и обновлять, но там проблема с мафией, пока не разобрался не выкладываю.