热门使用更多插座?

时间:2015-04-01 10:12:44

标签: vb.net sockets tcp

我有一个名为frmmsg的表单。 当我打开一个新的frmmsg时,我收到以下警告:

  

每个套接字地址只有一种用法(协议/网络地址/端口)   通常是允许的。

如何使用更多套接字打开表单?

这是我正在使用的代码:

Imports System.IO
Imports System.Threading
Imports System.Net.Sockets
Public Class frmmsg
    Dim listener As New TcpListener(8000)
    Dim client As TcpClient
    Dim message As String

    Private Sub frmmsg_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim thread As New Thread(New ThreadStart(AddressOf Listening))
        listener.Start()
    End Sub

    Private Sub listening()
        listener.Start()
    End Sub

    Private Sub btnnewform_Click(sender As Object, e As EventArgs) Handles btnnewform.Click
        Dim fnew As New frmmsg
        fnew.Show()
    End Sub
End Class

问题在哪里,我该如何解决?

1 个答案:

答案 0 :(得分:0)

从消息中可以看出,每个端口只能打开一个侦听套接字(通常)。

因此,您必须确保同时只有TcpListener(8000)个实例。如果要同时打开多个表单,则需要引用此对象而不是表单实例。也许使用静态/共享变量。