Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

  1. Home
  2. Programmation
  3. Développement de logiciels
  4. C
  5. [Cours] La programmation réseau

[Cours] La programmation réseau

Scheduled Pinned Locked Moved C
19 Posts 7 Posters 9.7k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • MyHandM
    MyHandM
    MyHand
    wrote on last edited by
    #4

    <blockquote class="ipsQuote" data-cite="AlexMog" data-ipsquote="" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentcommentid="12816" data-ipsquote-contentid="1225" data-ipsquote-contenttype="forums" data-ipsquote-timestamp="1414505679" data-ipsquote-username="AlexMog"><div>
    <div>
    <p>Exact, le but étant de faire une grosse introduction au réseau pour pouvoir faire des cours plus variés dessus 🙂 .</p>
    <p> </p>
    <p>Avec plaisir 🙂 .</p>
    </div>
    </div></blockquote>
    <p> </p>
    <p>plop,</p>
    <p> </p>
    <p>Tu vas vraiment avoir du travail si tu veux faire des cours sur le réseau, il y a beaucoup de choses complexe à expliquer avant d'arrivé à des choses très intéressantes. Bon courage. </p>

    1 Reply Last reply
    0
    • I
      I
      Indiablex
      Modérateur spécialisé
      wrote on last edited by
      #5

      <p>hoo c'est exactement ce que j'étudie !! 🙂 <br/><br/>
      Donc merci, c'est plus clair que mon cour 😛 </p>

       

      1 Reply Last reply
      0
      • AlexMogA
        AlexMogA
        AlexMog
        Modérateur spécialisé
        wrote on last edited by
        #6

        <blockquote class="ipsQuote" data-cite="Indiablex" data-ipsquote="" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentcommentid="12837" data-ipsquote-contentid="1225" data-ipsquote-contenttype="forums" data-ipsquote-timestamp="1414513643" data-ipsquote-username="Indiablex"><div>
        <div>
        <p>hoo c'est exactement ce que j'étudie !! 🙂 </p><p></p><p>
        Donc merci, c'est plus clair que mon cour 😛 </p>
        </div>
        </div></blockquote>
        <p> </p>
        <p>Heureux de t'avoir aidé 🙂 </p>
        <blockquote class="ipsQuote" data-cite="MyHand" data-ipsquote="" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentcommentid="12821" data-ipsquote-contentid="1225" data-ipsquote-contenttype="forums" data-ipsquote-timestamp="1414507427" data-ipsquote-username="MyHand"><div>
        <div>
        <p>plop,</p>
        <p> </p>
        <p>Tu vas vraiment avoir du travail si tu veux faire des cours sur le réseau, il y a beaucoup de choses complexe à expliquer avant d'arrivé à des choses très intéressantes. Bon courage. </p>
        </div>
        </div></blockquote>
        <p>Je verrais si j'ai la foi 🙂 </p>

        Multiplayer GameDev @ Unexpected
        

        Mon CV

        1 Reply Last reply
        1
        • AzadA
          AzadA
          Azad
          wrote on last edited by
          #7

          <p>Excellent tutoriel Alex !<br/>
          Digne d'un modérateur spécialisé. En plus on me l'avait demandé ce cours là (j'avais omis de transmettre, je crois).<br/><br/>
          +1 point de réputation, comme d'habitude.</p>

          Administrateur du forum.
          Contactez-moi par message privé ou par mail.

          1 Reply Last reply
          0
          • AlemortA
            AlemortA
            Alemort
            wrote on last edited by
            #8

            <p>Il y a t-il un moyen de réaliser un client-server en tcp ou UDP en quelques lignes? Ou faut-il obligatoirement réaliser toutes la gestion de sockets, les différentes options et tout ça, c'est vite le bordel ;).</p><p>Sinon sympa le tutoriel <img alt=":)" src="emoticons/default_smile.png" title=":)"/></p>

            1 Reply Last reply
            0
            • AlexMogA
              AlexMogA
              AlexMog
              Modérateur spécialisé
              wrote on last edited by
              #9

              <p>Hey,</p><p>ça dépendra du langage, et si tu utilises ou non une librairie. Dans tous les cas, faire du network est un challenge, autant que la gestion mémoire, c'est donc souvent une prise de tête, sans parler du débugging en networking qui est... Difficile <img alt=":)" src="emoticons/default_smile.png" title=":)"/></p>

              Multiplayer GameDev @ Unexpected
              

              Mon CV

              1 Reply Last reply
              0
              • aurelien974A
                aurelien974A
                aurelien974
                wrote on last edited by
                #10

                <p>
                Le réseau est pas aussi compliqué que ont le croix ! moi par exemple je joue un peux avec est j'ai appris tout seul avec du code open source 🙂  après sa peu devenir un casse tête !
                </p>

                1 Reply Last reply
                0
                • vfrzV
                  vfrzV
                  vfrz
                  wrote on last edited by
                  #11

                  <blockquote class="ipsQuote" data-ipsquote="" data-ipsquote-contentapp="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentcommentid="17708" data-ipsquote-contentid="1225" data-ipsquote-contenttype="forums" data-ipsquote-timestamp="1462193824" data-ipsquote-userid="195" data-ipsquote-username="aurelien974">
                  <div class="ipsQuote_citation">
                  Le 5/2/2016 à 14:57, aurelien974 a dit :
                  </div>
                  <div class="ipsQuote_contents">
                  <p>
                  Le réseau est pas aussi compliqué que ont le croix ! moi par exemple je joue un peux avec est j'ai appris tout seul avec du code open source 🙂  après sa peu devenir un casse tête !
                  </p>
                  </div>
                  </blockquote>
                  <p>
                  En C# c'est vrai que c'est relativement simple, mais c'est parce-que le framework net facilite beaucoup. En réalité c'est très complexe.
                  </p>

                  1 Reply Last reply
                  0
                  • aurelien974A
                    aurelien974A
                    aurelien974
                    wrote on last edited by
                    #12

                    <p>
                    il y à pas que C sharp 🙂  le java aussi c'est facile ^^ est en c aussi je trouve ! après c'est pas parce que j'utilise un langage tout le temps sur le forum (C#) que je connais pas d'autre langage ^^ après le Tcp ou l'udp c'est des normes pour que tout les ordinateur communique en semble. tu peux aussi créer ta normes à toi ^^
                    </p>
                    <p>
                    Le Tcp c'est tout simplement comme une ligne téléphonique.
                    </p>
                    <p>
                    L'Udp c'est comme si tu envois une lettre que tes pas sûr que le destinataire va recevoir 🙂 </p>
                    <p>
                    ( <span style="color:rgb(39,42,52);font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:22.4px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;background-color:rgb(255,255,255);">mais c'est parce-que le framework net facilite beaucoup. En réalité c'est très complexe.</span> ) après je vois pas le problème d'utilisé des outils qui facilite la programmation ^^
                    </p>

                    1 Reply Last reply
                    0
                    • vfrzV
                      vfrzV
                      vfrz
                      wrote on last edited by
                      #13

                      <p>
                      Mon commentaire s'applique à la plupart des langages populaires car ils possèdent tous une ou plusieurs librairies qui facilite ça.
                      </p>
                      <p>
                      Et je n'ai jamais dit que c'était un problème, c'est même très bien et je dirais même indispensable.
                      </p>

                      1 Reply Last reply
                      0
                      • AlexMogA
                        AlexMogA
                        AlexMog
                        Modérateur spécialisé
                        wrote on last edited by
                        #14

                        <p>
                        En réalité, c'est encore plus complexe que vous ne le pensez ;). Par exemple, en TCP, la perte d'un packet peut engendrer plusieurs centaines (voir milliers) de MS en ping! Tout ça parce que la liste de packets à envoyer en TCP se rallonge ;). Pour résumer, un packet foireux peut engendrer des secondes de délais si il y en a beaucoup à la chaine.
                        </p>
                        <p>
                        l'UDP est plutôt facile à comprendre: on envoit une lettre sans être sur qu'elle soit reçue. Mais bon, très compliqué à gérer niveau code. Il faut vérifier que le packet est bien reçu, et qu'il n'est pas corrompu. Bref, un bordel! Souvent on utilise ce qu'on appelle du "Reliable" en UDP, c'est une implémentation qui permet de "tracker" les packets, tout en gardant la puissance de l'UDP.
                        </p>
                        <p>
                         
                        </p>
                        <p>
                        Comprendre, en interne, le TCP et L'UDP est très important. Le TCP est pré-fait avec des systèmes reliables, mais qui ne sont pas forcémment optimisés. (ils le sont pour leur utilité, mais pour un jeu par exemple, le TCP n'est pas conseillé). L'UDP permet, du fait qu'il ne soit pas "connecté" de créer son propre système reliable, et donc d'implémenter sois même un système plus adapté (un des exemples étant l'UDT, qui allie la rapidité de l'UDP avec la force du TCP (je rappelle que l'UDT est encore en dev!)).
                        </p>
                        <p>
                         
                        </p>
                        <p>
                        Bref, quand on a très peu d'experience dans le domaine, on se dit que c'est facile, mais ayant fait mes études très spécialisées là dedans (MSc Network & Network Security) je peux te confirmer que c'est trèèèès compliqué.
                        </p>
                        <p>
                         
                        </p>
                        <p>
                        Question de passage: d'après vous, il vaut mieux envoyer plusieurs "petits" packets en TCP ou un gros packet TCP? (celui qui réponds correctement, je lui dis bravo!)
                        </p>

                        Multiplayer GameDev @ Unexpected
                        

                        Mon CV

                        1 Reply Last reply
                        0
                        • vfrzV
                          vfrzV
                          vfrz
                          wrote on last edited by
                          #15

                          <p>
                          A mon avis, il vaut mieux envoyer un gros packet, ça évite d'avoir à envoyer l'header à chaque fois.
                          </p>

                          1 Reply Last reply
                          0
                          • AlexMogA
                            AlexMogA
                            AlexMog
                            Modérateur spécialisé
                            wrote on last edited by
                            #16

                            <p>
                            Question piège ofc. En faite, ça dépends! Si le packet est trop gros, il sera, dans tous les cas, découpés en "Frames" et envoyé en plusieurs fois ;). Le problème n'étant pas vraiment la taille du packet le problème, mais bien entendu la cadence d'envois ;). En TCP, il ne faut pas oublier qu'on est dans un contexte d'envoit->réception->avis de réception. Donc bon, d'une manière générale, il vaut mieux envoyer un packet "package" avec pas mal d'infos, en TCP, plut^ot que plein de petits :). Le mieux étant encore de respecter les framesizes internationales. Mais bon, là on va un peu trop loin :).
                            </p>
                            <p>
                            L'UDP, à contrario, est pensé pour l'envoit de plein de petits packets rapidement (en effet, + le packet est gros, + il a de chances d'^etre perdu).
                            </p>
                            <p>
                             
                            </p>
                            <p>
                            Bref, comme je l'ai dis, le réseau est quelque chose de très complexe, et c'est quand on a des app avec des milliers de connexions qu'on commence à s'en rendre compte!
                            </p>
                            <p>
                             
                            </p>
                            <p>
                            Si vous avez d'autres questions, n'hésitez pas!
                            </p>

                            Multiplayer GameDev @ Unexpected
                            

                            Mon CV

                            1 Reply Last reply
                            0
                            • aurelien974A
                              aurelien974A
                              aurelien974
                              wrote on last edited by
                              #17

                              <p>
                              C'est pour ça dans certain code qui utilise du Tcp on voie des sleep un peu partout x') pour pas spam, c'est mieux aussi de découper soie même se que ont veux envoyer ! Est par exemple pour le déplacement d'un personnage en ligne c'est mieux de utiliser du peer-to-peer.
                              </p>

                              1 Reply Last reply
                              0
                              • vfrzV
                                vfrzV
                                vfrz
                                wrote on last edited by
                                #18

                                <blockquote class="ipsQuote" data-ipsquote="" data-ipsquote-contentapp="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentcommentid="17761" data-ipsquote-contentid="1225" data-ipsquote-contenttype="forums" data-ipsquote-timestamp="1465228735" data-ipsquote-userid="195" data-ipsquote-username="aurelien974">
                                <div class="ipsQuote_citation">
                                Il y a 4 heures, aurelien974 a dit :
                                </div>
                                <div class="ipsQuote_contents">
                                <p>
                                C'est pour ça dans certain code qui utilise du Tcp on voie des sleep un peu partout x') pour pas spam, c'est mieux aussi de découper soie même se que ont veux envoyer ! Est par exemple pour le déplacement d'un personnage en ligne c'est mieux de utiliser du peer-to-peer.
                                </p>
                                </div>
                                </blockquote>
                                <p>
                                Je ne vois pas le rapport du peer to peer avec le découpage des packets. Et pas beaucoup de jeux utilisent le peer to peer.
                                </p>

                                1 Reply Last reply
                                0
                                • aurelien974A
                                  aurelien974A
                                  aurelien974
                                  wrote on last edited by
                                  #19

                                  <p>
                                  Le découpage est le peet to peer ça pas rapport.
                                  </p>
                                  <p>
                                  Je voulais juste dire que au lieu d'envoyer un String par exemple qui est très long est l'envoyer comme ça. c'est mieux le découper soie même avent l'envoyer ! 
                                  </p>
                                  <p></p>

                                  1 Reply Last reply
                                  0

                                  Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                  Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                  With your input, this post could be even better 💗

                                  Register Login
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  • Login

                                  • Login or register to search.
                                  Powered by NodeBB Contributors
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • World
                                  • Users
                                  • Groups