Чт дек 17, 2020 11:07 am Чт дек 17, 2020 11:07 am
Подскажите, пожалуйста, почему происходит ошибка в скрипте:
function OnUserLogin(iCID, iLoginUIN, iLoginState: integer; sLoginIP, sLoginMAC, sLoginHardwareID, sLoginCompName, sLoginVersion, sLoginDomain, sAuthService, sClientType, sRemoteOS: string): boolean;
var
iCID2: integer;
begin
// Проверяем есть ли уже подключение от этого пользователя. Если есть - закрываем его
if (mIsUINOnline(iLoginUIN)) then begin
iCID2 := mGetUserCID(iLoginUIN);
mLogScriptToDisk('Login '+IntToStr(iLoginUIN)+' from OS: ['+sRemoteOS+']. Connection: '+IntToStr(iCID)+'. Found else connection: '+IntToStr(iCID2));
if ((iCID2 > 0) and (iCID2 <> iCID)) then begin
mHaltMyChatClient(iCID2);
end;
end;
result := true; // по-умолчанию пускаем
end;
Лог показывает, что mGetUserCID() возвращает "-1", хотя этот пользователь точно уже подключён к серверу и залогинен, и работает. Вот выводв лог:
Скрипт "checkUsers", сообщение: "Login 139 from OS: []. Connection: 81502. Found else connection: -1"
Также можно заметить, что в обработчик события не попала версия операционной системы. Это нормально?
От скрипта я хочу:
- Получить список подключений пользователя, который сейчас пытается залогиниться.
- Закрыть старые подключения (на данный момент).
- В последствии: пройтись по списку подключений и закрыть все, кроме подключений с Android и iOS.