装订&在vb.net中使用套接字连接

时间:2009-09-29 21:50:48

标签: vb.net sockets

以下是我正在使用的套接字的问题:

Public Sub Connect(ByVal server As String, ByVal port As Integer)
        Dim IP As IPAddress = IPAddress.Parse(server)
        Dim EP As IPEndPoint = New IPEndPoint(IP, port)
        sock.Bind(EP)
        sock.Connect(server, port)
    End Sub

套接字声明如下,位于代码顶部:

Dim sock As Socket

这里有什么问题?它表示Object引用未设置为对象的实例,这是一个NullReferenceException。

感谢您的帮助!顺便说一下,这是在vb.net中,我已经导入了正确的命名空间。

2 个答案:

答案 0 :(得分:3)

代码是否曾为Sock变量分配新的Socket实例?听起来像对象是null因为没有对变量进行任何赋值。

修改
初始化套接字可以这样做:

 sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Udp)

假设您正在使用IPV4,并且您希望像流一样从套接字读取和写入字节。至于协议......我在这里指定了UDP,但这取决于你想要与之交谈的内容。

答案 1 :(得分:0)

Dim MonSocketClient As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)