Question

Je construis une application de discussion udp lan simple sur vb.net et je me demande comment je devrais diviser mes paquets. Chaque paquet envoyé doit avoir comme un identifiant, un nom d'utilisateur et une adresse IP d'où il vient et peut-être aussi une partie de commande pour comme rejoindre ou laisser pour mettre à jour ma liste d'utilisateurs et un message texte. J'aimerais savoir quel est le moyen le plus simple de mettre tout cela dans un simple paquet, puis de le diviser facilement et d'accéder à différentes parties de celui-ci lorsqu'il sera reçu. merci.

J'utilise UDP, étant donné que ce n'est qu'en lan que je diffuse vers *. *. *. 255

EDIT: Merci pour votre réponse, Jon, mais je sais déjà tout cela. Ce que je veux savoir, c'est quel serait le moyen le plus simple et le plus puissant de formater mes paquets de manière à ce qu'ils incluent un nom d'utilisateur, un identifiant, une commande et un message texte, puis l'utilisateur le décryptant pour afficher uniquement le message écrit par lequel utilisateur ou s’il s’agit d’une commande comme rejoindre ou quitter pour afficher le message d’adhésion approprié et ajouter l’utilisateur à la liste par exemple.

Était-ce utile?

La solution

Je voudrais probablement formater le paquet au format xml, puis du côté de la réception, utiliser linq en xml pour le séparer. Vous pouvez également utiliser JSON pour le format mais cela peut être un peu plus difficile à analyser.

Autres conseils

Créez une classe appropriée avec une méthode ToByteArray et une méthode statique FromByteArray () (pour la sérialisation dans un tableau d'octets et l'analyse à partir d'un tableau d'octets, respectivement). Ensuite, utilisez UdpClient.Send () pour l'envoyer, puis UdpClient. Receive () pour le recevoir.

Vous pouvez utiliser BinaryReader / BinaryWriter et / ou BitConverter pour vous aider à utiliser ToByteArray et < Code> méthodes FromByteArray . Vous pouvez utiliser un MemoryStream comme flux rapide en mémoire pour transmettre à BinaryReader / BinaryWriter .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top