Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
717 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [VB.NET] Programme d'envoi de paquet

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB.NET] Programme d'envoi de paquet

n°2215845
Maxime16
Posté le 11-01-2014 à 18:09:46  profilanswer
 

Bonjour.
 
Je programme actuellement un micro jeu multijoueur en vb.net , cependant je bloque sur un problème. En effet : pour chaque action ( connexion, déplacement du personnage (...)) je dois envoyer plusieurs informations : un paquet.
 
Cependant, je ne sais pas exactement le réaliser en VB.NET.
 
Par exemple des paquets comme celui-ci pourraient être envoyés. J'avais pensé à créer une classe "paquets". J'aurais mis a l'intérieur la liste des paquets et ce qu'ils contiennent. Mais après concrètement je ne sais pas vraiment comment faire. L'objectif serait d'arriver à une information du genre :
 

Code :
  1. Dim pqt As Paquets.Connection.Verifie = New Paquets.Connection.Verifie
  2.         pqt.ID = '...
  3.         pqt.qty = '...
  4.         ServeurClient.SendPacket(ID,pqt)


 
 
 
Comment pourrais-je mettre un place un tel système ? (Avec un socket ou TcpListener).
 
Merci d'avance ! ;)

mood
Publicité
Posté le 11-01-2014 à 18:09:46  profilanswer
 

n°2216799
Maxime16
Posté le 20-01-2014 à 17:51:07  profilanswer
 

UP !
 
=> J'ai finalement opté pour la sérialisation XML. Cependant, si la sérialisation est opérationnelle il me reste des problèmes...
 
Comment envoyer, avec un protocole TCP (pas de Sockets) le fichier XML obtenu?
( Et juste pour information : est il possible de crypter les fichiers obtenus pour qu'il ne soient pas récuprérables (par MITM par exemple) ?)
PS : Si ça intéresse, je peux donner des cours à distance de maths/physique, jusqu'au niveau école d'ingénieur bac+1 contre des cours de vb.net à niveau relativement faible.
 
Merci d'avance ;)

n°2216990
Maxime16
Posté le 21-01-2014 à 22:45:47  profilanswer
 

Je voulais me servir de StreamWritter//StreamReader pour envoyer des données.
 
Si cela interresse quelqu'un, voici le code utilisé :  
 
Voila le code client :
 
 

Code :
  1. Private Sub Connection(ByVal TCPClient As TcpClient, ByVal ndc As String, ByVal mdp As String)
  2.        Try
  3.            If ndc <> "" And mdp <> "" Then
  4.                Dim monflux As NetworkStream = TCPClient.GetStream
  5.                Dim MonReader As StreamReader = New StreamReader(monflux)
  6.                Dim MonWriter As StreamWriter = New StreamWriter(monflux)
  7.                Dim paq As New Paquet()
  8.                paq.ndc = ndc.ToString
  9.                paq.mdp = mdp.ToString
  10.                'On crée le fichier et récupère son flux
  11.                Dim Serialiseur As New XmlSerializer(GetType(Paquet))
  12.                Dim Str As New StringWriter
  13.                'Sérialisation et écriture
  14.                Serialiseur.Serialize(Str, paq)
  15.                MonWriter.WriteLine(Str.ToString)
  16.                MonWriter.Flush()
  17.                Str.Close()
  18.            End If
  19.        Catch ex As Exception
  20.            MsgBox(ex.ToString())
  21.        End Try
  22.    End Sub


Le code xml obtenu :
 

Code :
  1. <?xml version="1.0"?>
  2. <Paquet xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3. <ndc>monndc</ndc>
  4. <mdp>monmotdepassequiestsupergénialmêmesilesgensdisentparfoisquilestunpeulong</mdp>
  5. </Paquet>


 
J'ai cependant plus de problème du coté serveur. Mettons que l'envoi du fichier se fasse sans encombres...
 
Comment lire mon fichier obtenu avec un StreamReader en manipulant des Strings ? En effet la fonction monReader.Readline() ne lit par définition qu'une ligne. De plus, si on fait un while(), ou qu'on utilise la fonction .ReadToEnd, le programme attendra indéfiniment ( puisqu'il ne sais pas quand c'est fini puisque le flux reste ouvert.
Si je définie le type 'paquet' dans mon serveur comme dans mon client : pourrais-je caster le XML obtenu en un joli type paquet?
Merci d'avance pour votre aide ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [VB.NET] Programme d'envoi de paquet

 

Sujets relatifs
Bug programme asm 8086aide pour un programme en python (réception de e mails)
Aide pour un petit programme en CProgramme répertoire téléphonique (BUG) HELP PLEASE !!!
[VB.net] que signifie << ?programme non open source sous linux
[Résolu] Problème envoi formulaire[VB.net] Web service - Redémarrage IIS
Besoin d'aide pour creer un programmeStopper le programme
Plus de sujets relatifs à : [VB.NET] Programme d'envoi de paquet


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR