У меня есть проблема с использованием tcp. Когда я читаю и записываю данные на клиенте или на сервере, он должен читать его как один пакет каждый раз.Данные Tcp привязываются друг к другу
Но иногда, когда я пишу данные очень быстро (в цикле для примера), клиент получил его как один из данных вместо того, чтобы обрабатывать его как три разных пакета, например.
Передача данные:
messageToSend = Encoding.ASCII.GetBytes(data);
c.GetStream().Write(messageToSend, 0, messageToSend.Length);
Прием в клиенте:
byte[] message = new byte[1024];
int i = 0;
i = c.GetStream().Read(message, 0, message.Length);
Encoding.ASCII.GetString(message, 0, i);
//Handle the new data....
Надеется, что это было достаточно ясно, и заранее спасибо!
Покажите, как вы пишете данные клиенту. – Cyclonecode
что-то вроде этого: 'messageToSend = Encoding.ASCII.GetBytes (data); c.GetStream(). Write (messageToSend, 0, messageToSend.Length); ' – cnc