2010-06-15 3 views
0

Je fais de la programmation Windows dans .Net depuis deux ans. Maintenant, je passe à la programmation Web, donc je me suis contenté de comprendre les principes fondamentaux de la programmation Web, après googling je suis venu à StackOverflow pour apprendre de tous les bons gars.Comment les messages circulent-ils entre les ordinateurs connectés à Internet ou au réseau local?

Ma confusion est sur la façon dont les messages circulent entre les systèmes dans l'environnement distribué? Je suppose que je veux envoyer un message "Hello" à un système connecté au réseau local ou Internet, alors quelles seront les mesures prises pour envoyer le message.

La deuxième chose est suppose que mon système est "A" et je wana envoyer un message à un système "B" qui est relié par un fil, alors comment circule le message sur le fil et comment le système "B" lit à partir du fil?

S'il vous plaît quelqu'un me expliquer en termes simples.

Merci d'avance.

Répondre

1

Voici une brève explication de ce qui se passe. vous pouvez rechercher un terme en surbrillance pour en savoir plus sur le calque particulier de la pile entière.

  • Votre navigateur crée un paquet HTTP contenant les détails de la requête GET pour la page dont il a besoin.
  • Il demande ensuite à la pile de mise en réseau du système d'exploitation de remettre ce paquet sur le protocole TCP/IP à la machine cible.
  • Si le navigateur a donné le réseau empilez le domain name (c.-à-http://google.com), la pile réseau fait une demande à son serveur DNS pour résoudre ce nom de domaine à un IP address (c.-à-74.125.155.99).
    Le serveur DNS peut avoir besoin de contacter d'autres serveurs DNS si cette information n'est pas mise en cache localement.
  • Une fois que le serveur DNS a déterminé l'adresse IP et l'a renvoyé à la pile réseau OS, ou si la requête HTTP est adressée directement à une adresse IP, la pile réseau crée un paquet TCP/IP pour cette adresse IP au pilote de la carte réseau.
  • Le pilote de la carte réseau encapsulera le paquet TCP/IP dans un paquet Ethernet frame.
  • Si l'adresse IP est sur le réseau local, le pilote de la carte réseau essaiera de déterminer quelle est la machine cible MAC address dans le ARP table. S'il réussit, il enverra le paquet de trame Ethernet sur le fil de réseau directement adressé à l'adresse MAC de cette machine.
  • Si l'adresse IP n'est pas sur le réseau local, la carte réseau enverra le paquet de trame Ethernet à l'adresse MAC de la passerelle locale.
  • Le pilote de la carte réseau sur la passerelle va dérouler le paquet TCP/IP et le remettre à la pile TCP/IP de la machine.
  • La pile TCP/IP de la passerelle examinera l'adresse IP de destination et répétera les étapes ci-dessus pour envoyer le paquet à la machine cible ou à la machine suivante sur la route.
0

HTTP sur TCP/IP est ce que les services Web utilisent. La plupart des communications utilisent TCP/IP avec un protocole dessus.

Vous pouvez trouver un TCP/IP tutorial here et un one here

+0

Un petit ajout: faites une petite lecture sur le modèle OSI et TCP et UDP sur IP et HTTP. –

0

plus détaillée rapide Fondamentalement, il ne sont pas les ordinateurs qui échangent des messages, mais les programmes sur ces ordinateurs. Vous devez donc avoir deux programmes ou un seul programme mais avoir des instances en cours d'exécution sur les deux machines. Maintenant, vient ici en jeu ce que les gens appellent des prises. Vous aurez besoin d'une lecture détaillée et d'un exemple de code de base sur la programmation de socket de toute façon, je vais donc vous dire les bases. Une socket est une abstraction réseau. C'est une chose à travers laquelle les programmes sur différents ordinateurs communiquent. Vous établissez une connexion à l'aide de sockets. Et puis, fondamentalement, les sockets peuvent être traités (presque) comme des fichiers. Vous écrivez des octets (votre message) dans une socket, et à l'autre extrémité, vous recevez votre message via une socket. Ceci est juste une idée de base, votre prochaine étape est de trouver un bon exemple de programmation de socket dans la langue désirée

0

Il y a plusieurs façons de réaliser cela sur le web. La façon la plus simple que je pense que vous pourriez faire est d'utiliser les services Web ASP.NET.

Mais vous devriez jeter un coup d'oeil à WCF, qui est devenu le modèle pour penser comme cela dans le monde MS ces dernières années. L'utilisation de WCF vous permet d'utiliser un grand nombre de protocoles différents en changeant simplement un fichier de configuration xml.

Questions connexes