C#: как разделить вход TCP на несколько частей?
Я хочу разделить интегрированный входной сигнал, который я получаю от TCP-соединения(в байтах), на несколько различных байтовых массивов.У меня есть сервер и клиент. сервер, который шифрует сообщение с помощью 3DES и шифрует ключ и IV с помощью RSA.
Затем он объединяет их вместе следующим образом (открытый текст + зашифрованный текст + ключ + IV) и отправляет его клиенту.
Клиент должен прочитать от байтов 0 до 20 и сохранить его как открытый текст, затем прочитать от байтов 21 до 129 и сохранить его как ключ и так далее. Есть какие-нибудь идеи о том, как реализовать его в C#? Я был бы признателен вам за помощь.
void ReadFromTCPClientStream(IAsyncResult iar) { TcpClient tcpClient; int nCountReadBytes = 0; try { tcpc = (TcpClient)iar.AsyncState; nCountReadBytes = tcpc.GetStream().EndRead(iar); if(nCountReadBytes == 0) { printStatus("Client disconnected"); return; } readBuff = new byte[512]; tcpc.GetStream().BeginRead(readBuff, 0, readBuff.Length, ReadFromTCPClientStream, tcpClient); } catch (Exception exc) { MessageBox.Show(exc.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
я хочу разделить readbuff на несколько байтовых массивов, как я уже сказал.
Что я уже пробовал:
I think with the foreach it can read from one byte to another byte and then store it.But I don't know exactly how?
Gerry Schmitz
readBuff = новый байт[512];
Кусок через это.