2016-06-16 20 views
1

Ich weiß, wie man eine C# -Anwendung schreibt, die über ein lokales Netzwerk funktioniert.Client-Server-Anwendung im globalen Netzwerk schreiben

Ich meine, ich weiß, wie meine clientseitige Anwendung auf meine serverseitige Anwendung in einem einzigen lokalen Netzwerk zugreifen kann.

Aber ich frage mich: Wie verbinden sich solche Apps, wie Skype, TeamViewer und viele andere über das globale Netzwerk?

Ich entschuldige mich, wenn diese Frage einfach oder offensichtlich ist, aber ich konnte keine Informationen über dieses Zeug finden.

Bitte, hilf mir, ich werde sehr dankbar sein. Alle Informationen werden akzeptiert - Artikel, einfache Informationen, Bücher,
und so weiter ...

Antwort

1

Die Frage ist sehr breit und ich versuche, einen kurzen Überblick zu machen.

Nach großem Unterschied zwischen LAN (Local Area Network) und WAN (Wide Area Network):

Netzqualität:

LAN ist mehr oder weniger stabil ist, kann WAN mit Netzwerkproblemen wie:

  1. Paketverlust (Sie müssen verlusttolerante Transport wie TCP oder UDP mit Retransmits oder Paketverlust Verschleierung verwenden)
  2. Packet Jitter (interpa Die Intervalle können sich stark vom Versand unterscheiden. Am häufigsten sind Pakete Bursts.
  3. Umordnung von Paketen
  4. Paketduplizierung

Netzwerkkonnektivitäts

WAN ist weniger stabil als LAN. Sie müssen also richtig alles behandeln wie:

  1. Verbindung abgestanden
  2. Verbindungsverlust
  3. Fehler in der Mitte der Verbindung (wenn Sie UDP verwenden zum Beispiel)

Adressen:

Im WAN arbeiten Sie mit verschiedenen Netzwerkgeräten zwischen Client und Server (oder Peers im Fall von Peer-to-Peer-Kommunikation). Sie müssen berücksichtigen:

  1. NATs - die meisten Clients sind hinter NAT und Sie müssen sie durchlaufen. Entsprechend Technik nennt man "NAT Traversal"
  2. Firewalls - ISP hat eigene Regeln, was Client tun kann oder nicht kann. Wenn Sie also etwas wie das benutzerdefinierte Transportprotokoll tun, stoßen Sie möglicherweise auf ISP-Firewalls.
  3. Routing - insbesondere Multicast und Broadcast-Kommunikation. Im allgemeinen Fall ist Multicast nicht möglich zu routen. Broadcasts werden niemals weitergeleitet. Sie müssen diese Art der Kommunikation nutzen, wenn Sie WAN verwenden möchten.

Vielleicht habe ich etwas vergessen. Aber diese Punkte sind wichtig. Sie können viele Artikel über irgendwelche von ihnen lesen.