So, I'm trying to develop a server application that uses Winsock to connect out to 10 clients at the same time. Once connected I want to transfer large files, somewhere on the order of 100MB to all 10 clients at the same time.

I have an array of 10 sockets that connect out. Once the connection is made in the Socket_Connect(Index As Integer) event I can begin transferring the file.

My question is, while the 100MB transfer with one client is taking place will the Socket_Connect event still fire when it connects to another client, or since VB is single threaded will the thread just sit there transferring the file to the first client and queue the other client(s)?

My explanation is kind of confusing but I did my best to make it readable.