AJUDA SOCKET

CCRISANEVB 01/10/2010 22:14:28
#354289
Oi. Boa Noite! Estou com um problema em minha aplicação Socket. A maioria dos dias ocorre os seguintes erros:

1- Err. no: 360 : Object already loaded.
2-Err. no: 40020 : Invalid operation at current state.

Ocorre sempre na seguinte função, e quando vou ver no sistema, ele fica com a porta sendo utilizada, sendo liberada somente quando fecho e abro novamente o sistema.

Agradeço a colaboração de todos.

Private Sub Socket_ConnectionRequest(Index As Integer, ByVal requestID As Long)
On Error GoTo trataerro

MensagemSRV = [Ô][Ô]
MensagemSRV = [Ô]Requisição de conexão : [Ô] & requestID & [Ô] enviada por : [Ô] & Socket(Index).RemoteHostIP
FrmHistorico.List1.AddItem (MensagemSRV)
Limpa_Historico

iSockets = iSockets + 1

Load Socket(iSockets)

BarraStatus.Panels(1).text = [Ô]Total de Conexões: [Ô] & iSockets

Socket(iSockets).Accept requestID

Exit Sub

trataerro:
If (Err.Number <> 0) Then
registraLogErros Err.Number, Err.Description, [Ô]Socket_ConnectionRequest[Ô]
Err.Clear
Resume Next
End If
End Sub
CCRISANEVB 02/10/2010 10:30:46
#354301
Gente descobri o que poderia ser, só não sei como fazer.

Nesta parte do código:
iSockets = iSockets + 1
Load Socket(iSockets)

acontece de um determinado momento esta variável iSockets já está com o valor sendo usado. Por exemplo iSocket=5 com isso ao fazer um load Socket(5) já existe está sendo usado, o que poderia fazer, é verificar se este índice desta Matriz já está sendo usado, caso verdadeiro adicionar + 1.

Agradeço a colaboração de todos.
Tópico encerrado , respostas não são mais permitidas