Click to See Complete Forum and Search --> : [RESOLVED] Winsock: How to Receivie Multiple Conexions?
bulletrick
Jan 9th, 2006, 11:43 PM
Guys, I know that to have a server that can receive multiple client conexions, i must create a single Winsock Control that has an index of zero (for example, Winsock1(0)), right?
What would then be the code I need to write to serve multiple conexions? It's like I am creating multiple Winsock controls at run time, right?
Please help! Thanks a lot!
Jmacp
Jan 10th, 2006, 12:59 AM
these guys explain it the best,
http://www.winsockvb.com/article.php?article_id=19&page=4
fgp123
Jan 10th, 2006, 03:29 AM
you need to set up a winsock array.
Pino
Jan 10th, 2006, 05:28 AM
you need to set up a winsock array.
Firstly please if you post, write answers that you would liek to see. That helps no-one.
Ok onto the question, you are correct you need to draw 1 winsock control onto your form, which for the purposes of this post I will call Winsock. Ok then you need to set the index property to 0 hich is actually making your winsock control (winsock) an aray. Now then from here every time a new client connects you create a new winsock control to handle there connection.
Ok so the connection request method would change to this,
Private Sub Winsock_ConnectionRequest(Index As Integer, ByVal RequestID As Long)
Load Winsock(Winsock.UBound + 1)
Winsock(Winsock.UBound).Accept RequestID
End Sub
That simply lets multiple users connect by creating a new winsock control (+ 1 of the uBound ;)) each time somone trys to connect.
The next thing you will need to do is adjust your servers data arrival event
Private Sub Winsock_DataArrival(index As Integer, ByVal bytesTotal As Long)
Winsock(index).GetData Data
msgbox Data
end sub
A final snippet of code, is used for the server to send data to every client connected. It simply loops through checks to see if the client is connected if it is it will send data!
For i = 0 To Winsock.Count - 1
If Winsock(i).State = sckConnected Then
Winsock(i).SendData Data
DoEvents
End If
Next i
When moving to multiple connections the client stays the same, it is only the server and the logic that changes, the 2 links below should assist you more, if you have any more questions though please post.
http://www.winsockvb.com/article.php?article_id=18
http://www.winsockvb.com/article.php?article_id=19
Pino
bulletrick
Jan 11th, 2006, 05:44 PM
Thanks for the link, Pino! Very helpful! Too bad, I can't give you any more reps...
Rattlerr
Jan 11th, 2006, 08:25 PM
yeah,thxs I found that link useful also with the project i'm starting for Winsock.. :wave:
Pino
Jan 12th, 2006, 05:11 AM
Hehe,
Thanks for the feedback.
Pino
vbforums.com
Copyright Internet.com Inc., All Rights Reserved.