WINSOCK COM MULTIPLAS CONEXOES

DENISSS 25/01/2010 19:18:00
#332809
Ola pessoal, eu estou precisando de um exemplo que me mostre como usar multiplas conexões com o winsock.
O meu objetivo é criar um software para controle de uma lan.
Eu tinha feito um, so que a conexão era um só, servidor --> cliente.
quem puder me ajudar ficarei muito grato.
TECLA 25/01/2010 19:59:35
#332814
Resposta escolhida
Exemplo de como ficará o SERVER:

1. Adicione um controle WINSOCK no FORM e altere a propriedade INDEX para 0 (zero):
2. Copie a rotina abaixo no editor.
Option Explicit
Public NumSockets As Integer
[ô]//Public Variable to track number of Connections

Private Sub Form_Load()
Caption = Winsock1(0).LocalHostName & _
Winsock1(0).LocalIP
Winsock1(0).LocalPort = 1066
Print [Ô]Listening to [Ô] + Str(Winsock1(0).LocalPort)
Winsock1(0).Listen
End Sub

Private Sub Winsock1_Close(Index As Integer)
Print [Ô]Connection Closed :[Ô] & _
Winsock1(Index).RemoteHostIP
Winsock1(Index).Close
End Sub

Private Sub Winsock1_ConnectionRequest(Index As Integer, _
ByVal requestID As Long)
Print [Ô]Connection Request from : [Ô] & _
Winsock1(Index).RemoteHostIP
NumSockets = NumSockets + 1
[ô]//Increase Number of Sockets by one.
Load Winsock1(NumSockets)
[ô]//Load a New Winsock Object Nusockets as Index Value
Winsock1(NumSockets).Accept requestID
[ô]//Accept the New Connection
End Sub

Private Sub Winsock1_DataArrival(Index As Integer, ByVal _
bytesTotal As Long)
Dim vtData As String
Winsock1(Index).GetData vtData, vbString
Print vtData
End Sub
DENISSS 25/01/2010 20:02:09
#332815
Obrigado tecla, agora gostaria de uma dica, como é que faço nesta rotina, para saber qual o cliente que desconectou.
o meu intuito e listar os clientes conectados em um ListView.
Muito obrigado pela dica.
TECLA 25/01/2010 20:08:13
#332818
Citação:

:
Obrigado tecla, agora gostaria de uma dica, como é que faço nesta rotina, para saber qual o cliente que desconectou.
o meu intuito e listar os clientes conectados em um ListView.
Muito obrigado pela dica.



No trecho abaixo:
Private Sub Winsock1_Close(Index As Integer)
Print [Ô]Connection Closed :[Ô] & _
Winsock1(Index).RemoteHostIP
Winsock1(Index).Close
End Sub
DENISSS 25/01/2010 20:12:34
#332819
Muito obrigado Tecla você esclareceu minha duvida.
Tópico encerrado , respostas não são mais permitidas