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.
  • 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