Servus leute,
Ich hab hier eine Server-Client Konstruktion die auf der Socket-Klasse basiert, und sich die Async-Funktionen zu nütze macht.
Dazu kommt noch eine RSA-AES verschlüsselung mitsamt HMAC. Für AES und HMAC wird diese implementation benutzt : AESThenHMAC
Mein Problem ist es, dass nur jede dritte oder gar vierte Übertragung erfolgreich ist, alle anderen Nachrichten scheinen sich beim Weg durchs Lan (PC->Switch->Router->Switch->PC) verändert zu haben. Ich habe Testweise die BouncyCastle Implementation von Keccak(SHA3) auf beiden Seiten über die Verschlüsselten Daten laufen lassen und tatsächlich sind die Daten verändert. In den Fällen, in dem die Verschlüsselung Klappt, sind natürlich auch die Hashes exakt die selben.
Meine "Pakete" bestehen aus einem Enum, dass eine Anweisung darstellt, und aus einer selbstgeschriebenen Klasse, die entsprechende Daten enthält.
Alles wird über den BinaryFormatter zu bytes Serialisiert, die danach Verschlüsselt, und dann gesendet werden.
Die Größe dieser "Pakete" kann bis zu 50 kb betragen, tendenz steigend. Wesentlich kürzere Pakete scheinen jedoch Problemlos anzukommen, da die Kommunikation, bevor solche "große" Pakete gesendet werden, einwandfrei funktioniert.
Diese Pakete haben eine länge von meist weniger als einem Kilobyte.
Muss ich eventuell diese Pakete splitten? Oder ist von Veränderungen bei dieser "Menge" von Daten grundsätzlich zu rechnen, trotz TCP?
Edit:
Es ist vielleicht noch zu erwähnen, dass Verbindungen von und zu dem selben PC (per LAN-IP nicht localhost) einwandfrei funktionieren.
Ich hab hier eine Server-Client Konstruktion die auf der Socket-Klasse basiert, und sich die Async-Funktionen zu nütze macht.
Dazu kommt noch eine RSA-AES verschlüsselung mitsamt HMAC. Für AES und HMAC wird diese implementation benutzt : AESThenHMAC
Mein Problem ist es, dass nur jede dritte oder gar vierte Übertragung erfolgreich ist, alle anderen Nachrichten scheinen sich beim Weg durchs Lan (PC->Switch->Router->Switch->PC) verändert zu haben. Ich habe Testweise die BouncyCastle Implementation von Keccak(SHA3) auf beiden Seiten über die Verschlüsselten Daten laufen lassen und tatsächlich sind die Daten verändert. In den Fällen, in dem die Verschlüsselung Klappt, sind natürlich auch die Hashes exakt die selben.
Meine "Pakete" bestehen aus einem Enum, dass eine Anweisung darstellt, und aus einer selbstgeschriebenen Klasse, die entsprechende Daten enthält.
Alles wird über den BinaryFormatter zu bytes Serialisiert, die danach Verschlüsselt, und dann gesendet werden.
Die Größe dieser "Pakete" kann bis zu 50 kb betragen, tendenz steigend. Wesentlich kürzere Pakete scheinen jedoch Problemlos anzukommen, da die Kommunikation, bevor solche "große" Pakete gesendet werden, einwandfrei funktioniert.
Diese Pakete haben eine länge von meist weniger als einem Kilobyte.
Muss ich eventuell diese Pakete splitten? Oder ist von Veränderungen bei dieser "Menge" von Daten grundsätzlich zu rechnen, trotz TCP?
Edit:
Es ist vielleicht noch zu erwähnen, dass Verbindungen von und zu dem selben PC (per LAN-IP nicht localhost) einwandfrei funktionieren.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „EaranMaleasi“ ()