Erhalte ich beim chatten auf einer website die ip des empfängers oder die server-ip der website?

414
The1Dev

Ich dachte, wenn ich mit jemandem auf einer Website (zB: facebook.com) chatte, kommen alle Nachrichten, die ich sende oder empfange, mit der IP-Adresse des Facebook-Servers und nicht mit der IP-Adresse meines Freundes, dh der Server spielt als mittlerer Host zwischen uns.

Nachdem ich viel gelesen hatte, hörte ich etwas namens Client-to-Client-Messaging, und dieses ist (wie ich denke) in der Lage, die von meinem Freund mit seiner IP-Adresse gesendeten Nachrichten zu empfangen, und mein Freund empfängt meine Nachrichten mit meiner IP-Adresse, sodass die Website einfach funktioniert kontrolliere den Fluss.

Ich bin wirklich verwirrt, kann mir jemand helfen zu verstehen?

0

1 Antwort auf die Frage

2
Ruscal

Es gibt verschiedene Formen des Chats, daher variiert die Antwort je nach Implementierung / Website. Die Hauptmethoden sind entweder direkter "Client-zu-Client" -Chat, bei dem die Website die Anwendungsschnittstelle bereitstellt und ein Handshake ermöglicht, um zwei Benutzer einander vorzustellen (Sie wissen nicht, wie sie sich mit Person B verbinden sollen, sie tun es nicht wissen, wie man sich mit Ihnen verbindet, aber Sie wissen beide, wie Sie sich mit der Site verbinden, und die Site verhandelt die beiden, die miteinander verbunden sind. Dies hat einen enormen Vorteil für Websitebetreiber, da dies für sie ein Unentschieden ist (gehen Sie zu meiner Site und Sie können chatten), sie sind jedoch nicht mit dem Aufwand belastet, den gesamten Datenverkehr tatsächlich abzuwickeln.

Die andere Methode, die man am meisten sieht, ist eher so, als hätte man ursprünglich gedacht. Sie können Facebook als Beispiel dafür verwenden. Sie senden eine Nachricht und sie wird an den Server der Site gesendet. Sie wird in ihren Protokollen protokolliert, in ihren Datenbanken usw. gespeichert. Die Nachricht wird auch an die Empfänger gesendet, indem sie in der Datenbank verfügbar ist, wenn die App von Person B eine Suche durchführt. Es gibt Hooks und Callbacks, über die der Empfänger informiert wird, dass eine neue Nachricht wartet. Die App lädt sie herunter, sobald sie benachrichtigt wird, und vermittelt den Eindruck einer direkten direkten Benachrichtigung. In Wirklichkeit wird dies jedoch von der Hosting-Site als Inhalt bereitgestellt.

Ein einfacher Hinweis. Direkte Client-zu-Client-Nachrichten haben keinen Verlauf, der auf verschiedene Browser folgt (die Anwendung speichert den Chat-Verlauf möglicherweise auf dem lokalen Computer, kann jedoch nicht auf einen anderen Computer folgen, da dieser andere Computer nicht Teil des Systems war) ursprüngliche direkte Kommunikation). Chat, der auf einer Website durchgeleitet / gespeichert wird, hat meistens einen vorherigen Chat-Verlauf, der Sie umhergehen wird (da alle Chats auf der Website gesendet und dort gespeichert werden, ist Facebook wieder ein hervorragendes Beispiel).

Sie meinen, es gibt zwei Arten von Chat: 1) Client-zu-Client, bei dem die beiden Benutzer über die Website miteinander verbunden werden. 2) Eine Messaging-Methode wie Facebook-Chat besteht darin, dass der Client nach neuen Nachrichten sucht, anstatt dass die Websites ihn an ihn weiterleiten direkt The1Dev vor 7 Jahren 0
Es gibt andere Nachrichtenübermittlungsschemata, die für IM verfügbar sind (und ich habe sie bereits verwendet), aber diese beiden sind die häufigsten. Und ja, wie Sie sagen: 1) ist eine direkte Verbindung zwischen den Clients der unterhaltenen Personen, während 2) eher ein Einzel-Bulletin-Board ist: Sie posten auf einem gemeinsamen Server, der Client der anderen Person lädt das System herunter Common Server, umgekehrt, nur mit dem Glanz, um es in "Echtzeit" erscheinen zu lassen. Andere Methoden sind eher selten (es sei denn, Ihr Ziel ist eine vollständig anonyme Kommunikation, dann werden sie populärer als diese beiden). Ruscal vor 7 Jahren 0
Vielen Dank @Ruscal für Ihre Antwort, es war sehr hilfreich .. Vielen Dank dafür :) The1Dev vor 7 Jahren 0