![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TServerSocket.Socket.Disconnect соединения неправильно работает?? [D5, WinME]
SergP © (2003-08-14 12:59:00)
Вот такой код:
procedure TForm1.ClientSocketDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
var
handl:integer;
begin
handl:=TClientSocket(Sender).Tag;
ServerSocket.Socket.Disconnect(handl);
end;
Вобщем в прокси-сервере когда дисконектится ClientSocket, мне нужно дисконектить соответствующее соединение в ServerSocket
В свойстве Tag ClientSocket"a я храню хендл соединения.
Так вот при дисконекте Clientsocket"а вызывается эта процедура и вместо того чтобы дисконектить соединение ServerSocket"a c указаным хендлом, она дисконектит все его соединения.
Это глюки в ServerSocket или я что-то не так делаю?
Digitman (2003-08-14 13:18:00) [1]
с фиксацией "хэндлов" ты, imho, занялся ерундой
храни в ClientSocket.Socket.Data просто указатель на объект ClientSocket: TServerClientWinSocket, тот самый, что ты получаешь вторым параметром в событии TServerSocket.OnClientConnect - он будет однозначно идентифицировать связку.
в этом случае
procedure TForm1.ClientSocketDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
TCustomWinSocket(Socket.Data).Close;
end;