Страница: 1 |
|
Вопрос: Winsock.Close and listView
|
Добавлено: 06.01.09 00:23
|
|
Автор вопроса: Aston | ICQ: 214-179-991
|
Привет всем!
Буду опять всех мучат по поводу компонента Winsock. Я создал сервер с компонентом Winsock в массиве который слушает канал, при запросе подключения он соеденяется и создаёт другой компонент Winsock, которой слушает канал.
wsServer(Index).Close
wsServer(Index).Accept requestID
Load wsServer(Index + 1)
Load txtOutput(Index + 1)
wsServer(Index + 1).LocalPort = 2009
wsServer(Index + 1).Listen
Посоветовали на форуме.
Всё было бы хорошо, если бы не одно но. Как все знают есть такие случаи когда клиент отключается, получается что у определённого компонента срабатывает событие Close, в этом событии я применяю метод клозе. Вопрос состоит в том можно ли как то вернуть этот элемент на прослушку и подключение сново (Я не додумал как) По идее должны отключить последний компонент который слушает ( так как они используют один канал) и включить который был отключён. Проблема ещё в том что отключится могут несколько.
Можно ещё сказать да зачем использовать закрытые компоненты Winsock пусть будут, 1 слушает подключился и работает себе и упрастит сильно дело.
Дело ещё в том что у меня на сервере стоит компонент listView (настроен как таблица) - в котором отражаются подключённые клиенты.
При первом методе я бы строку с него не удалял и завязал бы строку с индексом компонента, а в разделе (Статус) написал бы "отсоединён", при повторном подключении этого же компонента в эту страку загнал клиента.
При втором способе мне приходится удалять эти строки так как может присутствовать очень много избыточной информации, и увязать индексы со строками просто никак ( удалив одну строку - индекс всех нижних сразу меняется.
Ребята подскажите как лучше связать эти два дела:) Заранее спасиб!
Ответить
|
Страница: 1 |
Поиск по форуму