Показать сообщение отдельно
Старый 13.01.2010, 23:16   #5
Местный
 
Аватар для kpa9pt
 
Регистрация: 13.01.2010
Сообщений: 159
Сказал Спасибо: 18
Имеет 30 спасибок в 23 сообщенях
kpa9pt имеет немного плохого в прошлом
По умолчанию

Извени но твой оригинал у меня не работает, рвёт соединение программа, я добился работа способности только перенеся вот эту строку и добавив следом ещё одну, из-за этого перематюкался?) :

NoFreeOnServerDisconnect;
NoFreeOnClientDisconnect;

ну и ещё у меня пакет на logout другой.
Пожалуйста объясни где я не прав.

Добавлено через 1 час 27 минут
Всё заработало и дествительно плакать хочеться от того что я там наворотил в общем кому интересно вот работает:

const
CHAR_NAME = 'HKfk';
var
logoutok : boolean;

procedure init;
begin
logoutok := false;
end;

begin
if pck='' then exit;
if (ConnectName=CHAR_NAME) and (FromClient) and (pck[1]=#$00) then
begin
pck := ''; //или реквайст должен пройти на сервер ?
//Не забыл ли ты обнулить пакет ?
NoFreeOnClientDisconnect; //разрешить отключение клиента онли. при отключении сервера тунель будет разрушаться, что и должно происходить.
NoFreeOnServerDisconnect;
logoutok := true; //флаг
buf:=#$84; //шлем логауток на клиент
SendToClientEx(CHAR_NAME);
end;
if (ConnectName=CHAR_NAME) and FromServer and logoutok then pck := ''; //!!!! не пропускать пакеты на клиент через ПХ!! если он уже отключен.
end.


в твоей версии небыло вот этой строки:

NoFreeOnServerDisconnect;
у меня без неё не работает, и также у меня отличаються пакеты но это не суть главная вон та строчка.
Спасибо за всё.

А и ещё вопрос:
Вот теперь клиент закрыт а соединение висит, но не идут пакеты от сервера, вот если я активирую скрипт с наличием условия прихода пакета от сервера, он работать будет или нет?

Всё и с этим уже разобрался)

Последний раз редактировалось kpa9pt, 14.01.2010 в 11:41. Причина: Разобрался что к чему)
kpa9pt вне форума   Ответить с цитированием