![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Disconnect в Сокетах [D5, NT4, Win2k]
edvin © (2002-06-10 17:26:00)Здравствуйте!
У меня такой вопрос: Есть клиент он посылает данные на серверную
часть но если обрубить клиента то на серверной части выскакивает
сообщение: Asynchronous socket error 10053, как можно корректно
обрубить клиента? Я пробовал:ServerSocket1.Socket.Disconnect(0) на событии erverSocket1ClientDisconnect но это не срабатывает,
если обрубить клиента раньше чем он сам закроется то тогда сообщение на клиенте Conection left. Клиент написан на Visual C++, поэтому хотелось бы корректно отрубить его на сервере...
cyborg (2002-06-12 09:51:00) [1]Ой, Errorcode в заголовке обрубил :-)
cyborg (2002-06-12 09:47:00) [2]
procedure TForm1.ServerSocket1ClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
begin
Case ErrorEvent of
eeGeneral : begin end;
eeSend : begin end;
eeReceive : begin end;
eeConnect : begin end;
eeDisconnect : begin end;
eeAccept : begin end;
end;
ErrorCode:=0; //Вот эта штука и отрубает сообщения об ошибке
end;
Попробуй использовать не Disconnect, а Close, только в OnClientError не отрубай, получится бесконечный круговорот :-)
Sting (2002-06-12 02:56:00) [3]Напиши обработчик ошибки, где ты и будешь клиента отсоединять: ServerSocket1.Socket.Disconnect(0)
Doom (2002-06-10 21:53:00) [4]мда
ну ты нагородил
а с чего ты взял что клиент написанный на С++ посылает серверу сообщение о дисконнекте?
моджет он его не посылает а просто обрубается""?
Digitman (2002-06-10 18:10:00) [5]Что есть "корректно обрубить" и "это не срабатывает" ?