表单在初始化时卡住



我构建了一个服务器-客户端程序。当客户端连接到服务器时,服务器返回值"1";到客户端的字符串。此时,客户端必须关闭Form1并打开Form2。Form2被加载,但堆栈在无限循环。我试着推这个程序,看看调试器是否告诉我堆栈在哪里,但是没有。

Dim ctThread As Threading.Thread = New Threading.Thread(AddressOf getMessage)
ctThread.Start()
Private Sub getMessage()
For infiniteCounter = 1 To 2
Try
infiniteCounter = 1
serverStream = clientSocket.GetStream()
Dim inStream(1024) As Byte
serverStream.Read(inStream, 0, inStream.Length)
returndata = System.Text.Encoding.UTF8.GetString(inStream)
returndata = returndata.Substring(0, returndata.IndexOf("$"))
serverStream.Flush()
If returndata <> "" Then
If Form2.InvokeRequired Then
Form2.Invoke(New MethodInvoker(AddressOf doOrder))
Else
doOrder()
End If
End If
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Next
End Sub

Sub doOrder()
Dim order As String = Strings.Left(returndata, 1)
Select Case order
Case 0
MsgBox("User with that nick allready exist")
Case 1
Form2.Show()
Form2.Text = Form1.Text3.Text
Form1.Close()
Case 2
Form2.List1.Items.Add(Strings.Right(returndata, Len(returndata) - 1))
End Select
End Sub

好的当我将客户端线程的代码从模块移动到表单代码时,问题就解决了。

最新更新