Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何创建多个套接字作为索引_Vb.net_Sockets - Fatal编程技术网

Vb.net 如何创建多个套接字作为索引

Vb.net 如何创建多个套接字作为索引,vb.net,sockets,Vb.net,Sockets,我有一个使用winsock的VB应用程序。我想将其转换为VB.Net,因此据我所知,我应该使用System.Net.sockets来实现这一点 但问题是在VB应用程序中,使用winsock的索引功能创建了多个套接字。范例 负载插座(isocket) 其中,isocket是一个整数变量,对于新的连接请求,该变量每次递增 那么我该如何做同样的事情,即在vb.net中打开多个套接字?在VB6中,Winsock是一个OCX,因此通过调用加载套接字(索引)正在创建ActiveX控件的新实例。VB.NET中

我有一个使用winsock的VB应用程序。我想将其转换为VB.Net,因此据我所知,我应该使用System.Net.sockets来实现这一点

但问题是在VB应用程序中,使用winsock的索引功能创建了多个套接字。范例

负载插座(isocket)

其中,isocket是一个整数变量,对于新的连接请求,该变量每次递增


那么我该如何做同样的事情,即在vb.net中打开多个套接字?

在VB6中,Winsock是一个OCX,因此通过调用
加载套接字(索引)
正在创建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)
然后,您可以通过索引(从零开始)访问套接字:


然后我们可以这样做:

dim x as integer = 0
x += 1
collSockets(x).Whatever()
这将在每个事件中创建新的套接字,x将加倍

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

等等。

是否创建
System.Net.Sockets.Socket
类的新实例?使用
New
关键字调用构造函数方法。是,创建实例,但我希望它被索引。因此,我可以通过索引值调用/引用它…所以将这些实例放入数组中,就像在VB6中那样。唯一的区别是,在.NET中,所有数组都是零索引的,不管是什么。您能否给出一个具体的例子来说明如何做到这一点。vb中的Bcos控件winsock本身有索引..谢谢,好主意。。但是我试过密码。。您能告诉我为什么会收到此错误消息吗?错误1“Microsoft.VisualBasic.Collection”没有类型参数,因此不能有类型参数arguments@user733957是的,你需要使用这个
Imports System.Collections.ObjectModel
在你的课程顶部请在你的答案上下功夫。即使修改了格式和正字法,这也很难理解。
collSocket(1).Whatever()
x+= 1
collSocket(2).Whatever()