Я пытаюсь реализовать модель клиент / сервер, используя TCpClient
, с Networkstream.Write()/Read()
функциями отправки / получения байтового массива.
Это работает в большинстве случаев, за исключением случаев, когда я пытаюсь отправить три или более байтовых массивов подряд сразу друг за другом. Клиент говорит, что отправляет их все, но сервер получает только первые два.
Ниже приведен код, который я использую для записи с клиента на сервер.
byte[] buffer = p.toByteArray(level);
stream.Write(buffer, 0, buffer.Length);
stream.Flush();
Это объединяет их или что-то? Я просто не понимаю, как сервер может получать различные массивы, когда я отправляю 2, но не 3 или более. Если я разделю 3 записи, все будет хорошо, но я действительно не хочу этого делать.
Любая помощь будет высоко ценится.
EDIT:
решено :)
Спасибо за вашу помощь, ребята. Он выдавал 2-3 пакета за раз, и моя система думала, что 1 пакет = 1 пакет. Я просто переписал мою существующую архитектуру с TCPClient для обнаружения нескольких пакетов :) Еще раз спасибо за помощь!