Vb.net 如何创建多个套接字作为索引
我有一个使用winsock的VB应用程序。我想将其转换为VB.Net,因此据我所知,我应该使用System.Net.sockets来实现这一点 但问题是在VB应用程序中,使用winsock的索引功能创建了多个套接字。范例 负载插座(isocket) 其中,isocket是一个整数变量,对于新的连接请求,该变量每次递增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中
那么我该如何做同样的事情,即在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()