|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
вопросы по TClientSocket и TServerSocket
Собственно появился у меня серв, вот терь и проснулось желаение писать проги для работы в инете =)
Собственно более менее изучил принцип работы компонентов TClientSocket и TServerSocket, но вот имеются следующие вопросы: 1. Как программно определить, есть ли связь у клиента с сервером или нет (просто когда происходит разрыв линии, то TClientSocket всё ещё думает что соединён с сервом ) 2. Как TServerSocket научить автоматически закрывать сокеты, которые уже давно отконектились от серва? 3. Когда TClientSocket пытается соединится к серву которого нет, то сокет выводит ошибку на экран, как предотвратить выведение этих ошибок вообще??? Try Except не помогает Жду ответов, надеюсь, что хоть вы поможите My life Dark-Fire TEAM
|
#2
|
|||
|
|||
Еще вопрос по работе с сокетами в связке клиент-сервер.
Код такой procedure TForm1.SendBtnClick(Sender: TObject); begin for i := 1 to 5 do begin ClientSocket.Port:=7777 ClientSocket.Address:=ip; ClientSocket.Active:=true; end; end; procedure TForm1.ClientSocketСlose(Sender: TObject); begin ClientSocket.close; end; т.е. при нажатии на кнопку клиент долженен по очереди установить и разорвать связь с пятью серверами. Если без цикла (с одним сервером) то все работает Во время выполнения процедуры порт открывается, сразу же происхоит переход к процедуре procedure TForm1.ClientSocketСlose(Sender: TObject); она обрабатывается, затем возврат обратно в прцедуру procedure TForm1.SendBtnClick(Sender: TObject); Порт закрывается, НО, все равно, только после завершения procedure TForm1.SendBtnClick(Sender: TObject); Но как видно, мне необходимо во время работы процедуры открыть и закрыть порт несколько раз. что делать ума неприложу :?: |
#3
|
|||
|
|||
Может всё таки кто нить поможет с сокетами? 0_o
|
#4
|
||||
|
||||
Цитата:
procedure TForm1.Server1ClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin ErrorCode:=0; // И твоё сообщение об ошибке исчезнет end; |
#5
|
|||
|
|||
спсб... ещё вопрос:
как определить клиенту, имеется ли ещё подключение к серверу или нет? My life Dark-Fire TEAM
|
#6
|
||||
|
||||
Цитата:
|