Pour mon projet de stage, je dois réalisé une liaison ethernet. Mon problème c'est que je n'arrive pas à modifier la taille de la trame reçu. Voici ma métode:
je viens stocker les octets de "in" dans un quint. Or quand je change le type de la variable "line" , je ne recois plus de données.
Pour mettre du code utilise le bouton destiné à cet usage comme indiqué dans les règles que tu as lues.
C'est un peu difficile de savoir avec si peu de code, on a pas le code d'envoi. En tout cas je pense que tailleMessage n'est pas une variable qui devrait être membre. Car tu fais une seule fois le test (tailleMessage == 0) ainsi, dans cette condition tu affecte une nouvelle valeur à tailleMessage mais plus jamais tu ne rentreras dans cette condition puisque cette variable n'est pas réinitialisée.
C'est un peu étrange comme façon de faire. N'oublie pas que TCP c'est un flux, donc même si tu envoie un entier avant ton message pour dire la taille du message tu sera obligé de lire continuellement tant que tu n'as pas fini la taille du message. Et il est aussi possible que tu lises plus que le message courant (si le serveur t'envoie plusieurs messages à la suite, TCP c'est comme un robinet).
En général la façon de faire est de
lire ce qu'on peut quand il y a de la donnée
mettre ça dans un tableau temporaire
« dépiler » tous les messages complets arrivés dans ce tableau
git is great because Linus did it, mercurial is better because he didn't.
Ethernet est une norme de la couche 2 l'OSI (la couche liaison).
TCP est un standard de la couche 4~ de l'OSI (la couche transport).
Il est donc complètement vain de vouloir implémenter Ethernet avec un truc qui doit se servir d'Ethernet ou d'un équivalent.
Il est assez rare sur les OS modernes de disposer de la possibilité d'implémenter des protocoles aussi bas niveau sans passer par le la programmation Kernel, donc pas de Qt et autre sockets BSD.
C'est pour quelle plateforme ?
Sinon, les vieux machins comme les sockets BSD ont un mode "raw socket" qui peut peut-être vous permette de faire 2/3 bricoles.
Si c'est pour apprendre le réseau, le prof. a dû donner une librairie bas niveau à utiliser, non ?
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
Probleme communication Ethernet
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
git is great because Linus did it, mercurial is better because he didn't.