Как создать несколько сокетов в качестве индекса - PullRequest
1 голос
/ 10 мая 2011

У меня есть приложение VB, где используется winsock.Я хочу преобразовать его в VB.Net, поэтому, как я понимаю, я должен использовать System.net.sockets для этого.

Но проблема в том, что в приложении VB несколько сокетов создаются с помощью функции индексацииВинсок.пример

Load Socket (isocket)

, где isocket - целочисленная переменная, которая увеличивается каждый раз для нового запроса на соединение.

Так как мне сделать то же самое,то есть.открыть несколько сокетов в vb.net?

Ответы [ 2 ]

3 голосов
/ 10 мая 2011

В VB6 Winsock является OCX, поэтому, вызывая Load Socket(Index), вы создаете новый экземпляр элемента управления ActiveX. В VB.NET такого эквивалента нет, поэтому вы могли бы создать коллекцию System.Net.Sockets.Socket:

Dim collSockets As New Collection(Of System.Net.Sockets.Socket)

Когда вы получите новый запрос на подключение, создайте новый элемент в коллекции:

 Dim sck As New System.Net.Sockets.Socket(**Initialise Your New Socket Here**)
 collSockets.Add(sck)

Затем вы можете получить доступ к сокетам по индексу (на основе нуля):

collSockets(0).Whatever()
0 голосов
/ 16 сентября 2012

Тогда мы можем сделать что-то вроде этого:

dim x as integer = 0
x += 1
collSockets(x).Whatever()

Это создаст новый сокет в каждом событии, и x будет удваиваться, будет

collSocket(1).Whatever()
x+= 1
collSocket(2).Whatever()

1007 * Etc. *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...