Я работаю над приложением чата в C# с сервером, закодированным в C++, я уже могу отправлять и получать сообщения между моими клиентами. Но моя проблема в настоящее время, что требуется определить структуру пакета TCP сам, как:C# Структура пакета TCP
[numberOfsequence: uint16_t] [ID: uint16_t] [данные: х] Где:
- numberOfsequence: это номер моего пакета (чтобы гарантировать, что в
принимать пакеты в порядке, я знаю, что это автоматически regled по протоколу TCP, но я хочу сделать это также) - ID: represente типа
operartion (login, message, disconnect) id будет как 0000 для логин, 0001 для сообщения .... Данные: информация.
//TO connect TcpClient clientSocket; NetworkStream serverStream; clientSocket.Connect(IPAddress.Parse(textBoxIP.Text), Convert.ToInt32(textBoxPort.Text)); serverStream = clientSocket.GetStream(); //Sending login byte[] outStream = System.Text.Encoding.ASCII.GetBytes(textBoxLogin.Text); serverStream.Write(outStream, 0, outStream.Length); serverStream.Flush();
Так что мой вопрос заключается в том, чтобы определить структуру пакета? спасибо
Предполагается, что это невозможно, если вы используете TCPClient, tcp и его внутренняя структура является стандартом и, насколько я знаю, реализована на низкоуровневой аппаратной базе = вашей сетевой карте, чтобы сделать ее быстрой. –
Если вы хотите нести ответственность за целостность пакета, вы должны использовать другой протокол, например udp. –