Je ne suis pas sur que les gens lisent autant de texte pour un projet qu'ils ne connaissent pas
Pour moi la présentation est claire, il faudrait qu'on me dise ce qui ne l'est pas, je vais peut être rajouter des schémas
Personnellement, j'ai absoluement rien compris a la présentation. Et je pense qu'on préfere un text même long qu'un liste (avec des mots en gras) incompréhensible + des schemas sans explication.
Pour résumer, + d'explication dans le premier post serai la bienvenu.
Exemple : "J'ai réalisé de nombreux projets dans une certaine optique que je recommençais à chaque fois pour arriver à une idée finale : Nex"
C'est quoi l'idée finale, parce que nex c'est le nom du projet, pas l'idée, et c'est l'idée qu'on cherche pas savoir si tu l'appelle toto ou bisounours
La genèse ne donne aucune information par exemple ....
On s'était déjà parlé mais par manque de temps je ne t'avais pas relancé.
Il se trouve qu'en stage je travaille actuellement sur des système de sérialisation/déserialisation et de transfert de données entre des machines (potentielleemnt ayant des archi différentes).
Ca m'interesse de savoir comment tu as défini ton protocole de communication et comment tu gères les différentes architectures possibles au niveau de la portabilité des données.
Ok je savais pas que boost proposait la seria/deseria pour l'envoie de données. Comment il gère l'endianness ?
J'ai entendu dire que c'était pas indépendant de la machine (donc risqué d'y envoyer sur le reseau et y deserialisé ailleurs).
- Edité par Destin il y a environ 1 heure
Des protocoles d'échange de donnée spécifie l'endianness, par exemple, Le protocole IP définit un standard, le network byte order (soit ordre des octets du réseau). Dans ce protocole, les informations binaires sont en général codées en paquets, et envoyées sur le réseau, l'octet de poids le plus fort en premier, c'est-à-dire selon le mode big-endian et cela quel que soit l'endianness naturel du processeur hôte.
Ok je savais pas que boost proposait la seria/deseria pour l'envoie de données. Comment il gère l'endianness ?
J'ai entendu dire que c'était pas indépendant de la machine (donc risqué d'y envoyer sur le reseau et y deserialisé ailleurs).
- Edité par Destin il y a environ 1 heure
Des protocoles d'échange de donnée spécifie l'endianness, par exemple, Le protocole IP définit un standard, le network byte order (soit ordre des octets du réseau). Dans ce protocole, les informations binaires sont en général codées en paquets, et envoyées sur le réseau, l'octet de poids le plus fort en premier, c'est-à-dire selon le mode big-endian et cela quel que soit l'endianness naturel du processeur hôte.
Ca change rien, si à plus haut niveau tu le gère pas c'est mort.
Je vois pas comment IP peut aller modifier tes données si il sait pas ce que tu lui file Oo
C'est pas IP mais la carte réseau, enfin plus precisément ton driver.
- Edité par kazord il y a 23 minutes
Bah c'est encore plus vrai alors Toi tu file des données, un gros tas, lui il envoie en big endian, mais il sait pas si dedans tu as des int des short des brosses à dents ou des fourchettes.
Après de l'autre côté tu récupère tes fourchettes et autres int/short et voilà, si la machine a pas le même endianness, elle y verra des couteaux.
Tu ecris un programme en C, tu as un tableau de 100 octet a transmettre.
Tu crée un paquet UDP (c'est plus simple pour l'exemple, mais marche pareil avec tcp), quand tu 'remplis' le paquet de tes données, l'application (le code machine compilé) se chargera de mettre les octets dans le bon ordre pour respecter le network byte order.
Ton problème n'est pas dans la transmission, mais dans la sérialisation.
Tu ecris un programme en C, tu as un tableau de 100 octet a transmettre.
Tu crée un paquet UDP (c'est plus simple pour l'exemple, mais marche pareil avec tcp), quand tu 'remplis' le paquet de tes données, l'application (le code machine compilé) se chargera de mettre les octets dans le bon ordre pour respecter le network byte order.
Ton problème n'est pas dans la transmission, mais dans la sérialisation.
Ben oui, je fais référence à ça quand je dis:
"Ok je savais pas que boost proposait la seria/deseria pour l'envoie de données. Comment il gère l'endianness ?
J'ai entendu dire que c'était pas indépendant de la machine (donc risqué d'y envoyer sur le reseau et y deserialisé ailleurs)."
Projet intéressant de prime abord, mais je vois pas très bien comment fonctionne Nex.
En fait, je pense qu'il faudrait, une fois que le projet suffisamment stable et mature, rédigez un cours complet sur ce site en partant vraiment de zéro et en utilisant un langage compréhensible pour les novices.
Cela permettrait d'expliquer clairement ce qu'est Nex et comment il fonctionne et ainsi de le faire connaître au plus grand nombre (on ne parlera de Nex et n'écrira des articles à son sujet seulement si on a compris déjà soi-même ce que c'est).
En te souhaitant bon courage pour la suite.
Bonne journée.
Projet: cours "Histoire des OS" (titre provisoire). Stade: annulé
En fait, je pense qu'il faudrait, une fois que le projet suffisamment stable et mature, rédigez un cours complet sur ce site en partant vraiment de zéro et en utilisant un langage compréhensible pour les novices.
C'est prévu mais je peux pas tout faire ça va prendre du temps de rédiger toute la doc. Je cherche quelqu'un pour l'interface car ça permettrait aux utilisateurs de pouvoir l'utiliser et voir comment ça fonctionne, la je dev le système donc ça prend pas mal de temps, je peux pas faire une bonne interface en même temps
@ads00: je sais, c'est pour ça que j'ai dit qu'il faille attendre que le projet soit assez mature pour pouvoir écrire un bon cours à la façon site du zéro. De ce que j'ai lu, le projet semble encore en chantier, donc ce n'est surement pas le bon moment pour écrire ce cous alors qu'il y a encore des choses à faire.
Par contre, j'ai une p'tite question:
Où en êtes vous dans le projet? Est-ce que vous êtes en pleine phase dite "Alpha" (implémenter de nouvelles fonctionnalités par exemple) ou bien vous êtes déjà en phase "Bêta" (rendre le tout stable)?
P.S.: par contre, je te pose juste une question (elle peut paraître bête): Nex est un protocole comme l'est le HTTP, c'est ça?
Projet: cours "Histoire des OS" (titre provisoire). Stade: annulé
Pour le serveur, on va dire alpha, après pour l'interface il reste pas mal de choses à faire et donc ça me ralentit pour le dev du serveur.
Puis il y a certaines fonctionnalités qui pourrait être ajoutées en module mais que jvoudrais gérer de base comme la synchro.
C'est un système de gestion de l'information donc ça inclut un protocole "nex" pour les communications oui. D'ailleurs le serveur est prévu pour accepter plusieurs protocoles, pour l'instant : nex, http, ws (commencé)
× 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.