ich bin mit einem Server in C# auf Chat-Anwendung arbeiten in C++ programmiert, kann ich bereits Nachrichten zwischen meinen Kunden senden und empfangen. Aber mein Problem ist jetzt, dass ein Mangel von mir wie die Struktur des TCP-Pakets definieren:C# TCP-Paketstruktur
[numberOfsequence: uint16_t] [id: uint16_t] [Daten: x] Wo:
- numberOfsequence: ist die Zahl meiner Paket (um sicherzustellen, dass in
die Pakete empfangen, um, ich weiß, dass automatisch von TCP-Protokoll regled ist, aber ich will es auch tun) - ID: représente die Art der
Bedienung (Login, Nachricht, trennen) ID wird wie 0000 für Login, 0001 für Nachricht .... Daten: Informationen.
//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();
So ist meine Frage, wie die Paketstruktur zu definieren? Dank
Es schätzt, dass es nicht möglich sein kann, wenn Sie eine TCPClient, tcp und seine interne Struktur verwenden ist ein Standard und umgesetzt, soweit ich weiß, auf niedriger Niveau Hardware-Basis = Netzwerkkarte, es schnell zu machen. –
Wenn Sie für die Paketintegrität verantwortlich sein wollen, müssen Sie ein anderes Protokoll wie udp verwenden. –