J'ai un problème avec l'utilisation de Sockets en c#. Voici un exemple. Disons que j'envoie le numéro 1, puis j'envoie immédiatement le numéro 2. Le problème que je rencontre parfois est que le client qui est censé le recevoir recevra un paquet contenant '12'. Je me demandais s'il existait un moyen intégré de distinguer les paquets sans utiliser de caractères ou autre pour séparer les données.
Pour résumer, j'ai parlé de deux paquets. Un avec le numéro "1", un avec le numéro "2". Le serveur reçoit un paquet avec la donnée '12'. Je ne veux pas séparer les paquets par des caractères, comme ceci ':1::2:' ou autre, car je n'ai pas toujours le contrôle sur le format des données entrantes.
Des idées ?
Par exemple, si je fais ceci
client.Send(new byte[1]{'1'}, 1,SocketFlags.None);
client.Send(new byte[1]{'2'}, 1,SocketFlags.None);
puis, du côté du serveur
byte[] data = new byte[1024];
client.Receive(data);
data revient parfois avec "12" même si je fais deux envois séparés.