16,721
社区成员




Private Sub tmps()
Dim buf(1024) As Byte
Try
clientSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim localEndPoint As New IPEndPoint(IPAddress.Parse("192.168.1.102"), 6666)
clientSocket.ReceiveBufferSize = 1024
clientSocket.Connect(localEndPoint)
Dim ms As MemoryStream = New MemoryStream
While True
'clientSocket.BeginReceive(buf, SocketFlags.None, New AsyncCallback(AddressOf delData), clientSocket)
Dim length = clientSocket.Receive(buf)
ms.Read(buf, 0, length)
'在这个死循环里,数据可以接受完,但是最后一次会进入阻塞状态,我该如何判断数据接收完了,继续运行程序呢?
End While
If ms.Length > 0 Then
Dim serialFormatter As Binary.BinaryFormatter = New Binary.BinaryFormatter
Dim serialFile As SerializedFile = CType(serialFormatter.Deserialize(ms), SerializedFile)
MsgBox(serialFile.fileName)
End If
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Dim ms As MemoryStream = New MemoryStream
While True
'clientSocket.BeginReceive(buf, SocketFlags.None, New AsyncCallback(AddressOf delData), clientSocket)
Dim length = clientSocket.Receive(buf)
if length > 0
ms.Read(buf, 0, length)
else
break
'在这个死循环里,数据可以接受完,但是最后一次会进入阻塞状态,我该如何判断数据接收完了,继续运行程序呢?
End While