2015-04-01 64 views
0

我有一个叫做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 

在哪里的问题,我该怎么解决呢?

回答

0

从消息中可以明显看出,每个端口只能打开一个侦听套接字(一般情况下)。

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

+0

你能举个例子吗? :D,谢谢你的评论 – 2015-04-01 10:51:33

+0

有什么具体问题吗? – usr 2015-04-01 10:53:23

+0

我只是不明白如何使用静态/共享变量,而不是从表单实例。 – 2015-04-02 02:38:54