Народ, помогите внести понимание в работу с винско контролом.
Во -первых,
допустим у меня открыт серверный сокет и к нему присоединяются клиенты. Если клиентов несколько то как происходит работа.
Да , конечно статью из MSDN я читал
- вот ее перевод
http://www.codenet.ru/progr/vbasic/winsock.php
Там рекомендуется создать массив сокетов.
Но, вот кусок кода - выполняется при запросе на соединение
'******
Private Sub sckServer_ConnectionRequest _
(Index As Integer, ByVal requestID As Long)
If Index = 0 Then
intMax = intMax + 1
Load sckServer(intMax)
sckServer(intMax).LocalPort = 0
sckServer(intMax).Accept requestID
Load txtData(intMax)
End If
End Sub
'*******
Почему LocalPort нулевой? На какой порт мне посылать данные с клиентов? На тот же что прописан для сокета с нулевым индексом в массиве?
*****
Во -вторых,
у меня клиент после заврешения сеанса связи посылает сигнал который сначал загружает серверный сокет потом сново переводит его в состояние "прослушки".
А если у меня происходит посреди сеанса обрыв связи?
Этот сокет так и будет висеть открытым? Тогда может надо как то закрывать их по таймауту?
****
понимаю что на все эти вопросы можно получить ответ путем эксперимента, но не хочется изобретать велосипед.
Спасибо.