【问题标题】:Binding & connecting using sockets in vb.net在 vb.net 中使用套接字进行绑定和连接
【发布时间】:2014-11-28 21:57:32
【问题描述】:

这是我使用的套接字的问题:

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

socket 是这样声明的,在代码的顶部:

Dim sock As Socket

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

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

【问题讨论】:

    标签: vb.net sockets


    【解决方案1】:

    代码是否曾经将新的 Socket 实例分配给 Sock 变量?听起来对象为空,因为没有对变量进行赋值。

    编辑
    初始化套接字可以这样完成:

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

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

    【讨论】:

    • K,正确的语法是什么?我不知道要指定什么 AddressFamily 或 SocketType 或 ProtocolType。
    【解决方案2】:
    Dim MonSocketClient As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
    

    【讨论】:

      猜你喜欢
      • 2010-12-01
      • 2020-08-06
      • 2015-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-16
      • 1970-01-01
      相关资源
      最近更新 更多