终止线程时报错?在线等
以下是我的tcp通信的程序,服务器端的,意思是绑定某端口后不断侦听有没有连接,若有则建立连接接收数据,现在我由于我要重新设置端口号然后再开始侦听,所以我想把线程停止,重新设置完端口后再执行一次绑定并开始侦听端口,但执行到tcpthread.abort()时,程序报错“正在关闭线程!”,请问怎么解决?
Private Sub BuildConnect()
'build tcp connect
Dim a As New System.Net.Sockets.Socket(Net.Sockets.AddressFamily.InterNetwork, Net.Sockets.SocketType.Stream, Net.Sockets.ProtocolType.Tcp)
Dim p As New Net.IPEndPoint(Net.IPAddress.Parse("192.168.5.4"),6666)
Try
a.Bind(p)
a.Listen(10)
Do While True
System.Windows.Forms.Application.DoEvents()
AllDone.Reset()
a.BeginAccept(New AsyncCallback(AddressOf CallBackBuildConnect), a)
AllDone.WaitOne()
Loop
Catch ex As Exception
MsgBox(ex.Message)
Exit Sub
End Try
End Sub
private sub a()
Dim TcpThread As New Threading.Thread(AddressOf Me.BuildConnect)
ThreadHashTable.Add("tcp", TcpThread)
TcpThread.Start()
end sub
private sub b()
tcpthread.abort() '这句会报错
end sub