Я реализую приложение чата .NET, но у меня все еще есть эта ошибка:
Я могу отправить только сообщение на соединение.
Например. С помощью приведенного ниже кода я могу отправить только одно сообщение, которое может быть правильно получено другим партнером, но если я отправлю другое сообщение, по тому же соединению оно не будет получено удаленным ПК.
Вот код:
Dim client_TCP As New TcpClient
Private Sub send_obj(ByVal obj As Object)
Dim bf As New BinaryFormatter
Dim tosend As Packet
tosend.data = obj
bf.Serialize(client_TCP.GetStream(), tosend)
client_TCP.GetStream.Flush()
End Sub
Private Sub connect_to_port()
Try
client_TCP = New TcpClient(client_data.getIP(), client_data.getPort())
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub disconnect_from_port()
client_TCP.Close()
End Sub
А вот и слушатель:
Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timer.Tick
If client_TCP_listener.Pending = True Then
....
End If
End Sub
Итак, чтобы отправить сообщение, мне всегда нужно сделать это (пример):
Dim b As Byte
b = 1
disconnect_from_port()
connect_to_port()
client_TCP.GetStream().WriteByte(b)
client_TCP.GetStream().Flush()
Я пытался поставить \ удалить флеш из обоих кодов. Ничего не случилось.
У вас есть идеи?!