Во время чата на веб-сайте я получаю ip получателя или ip сервера сайта?

245
The1Dev

Я думал, что когда я общаюсь с кем-то на веб-сайте (например, facebook.com), все сообщения, которые я отправляю или получаю, приходят с IP-адреса сервера Facebook, а не с IP-адреса моих друзей, другими словами, сервер играет роль промежуточного хоста. между нами.

После прочтения я услышал нечто, называемое обмен сообщениями между клиентами, и это (как мне кажется) способно принимать сообщения, отправленные моим другом с его IP, и мой друг получает мои сообщения с моим IP, так что веб-сайт работает только для контролировать поток.

Я действительно запутался, кто-нибудь может помочь мне понять?

0

1 ответ на вопрос

2
Ruscal

Существуют различные формы чата, поэтому ответ зависит от реализации / веб-сайта. Основными методами являются либо прямой чат «клиент-клиент», где веб-сайт предоставляет интерфейс приложения и облегчает рукопожатие, чтобы познакомить двух пользователей друг с другом (вы не знаете, как связаться с человеком B, они не Я знаю, как подключиться к вам, но вы оба знаете, как подключиться к сайту, и сайт договаривается о том, как вы двое подключаетесь друг к другу). Это имеет огромное преимущество для операторов сайта, поскольку для них это ничья (зайдите на мой сайт, и вы можете общаться), но они не обременены накладными расходами на фактическую обработку / пропуск всего трафика.

Другой наиболее часто встречающийся метод больше похож на то, что вы изначально думали. Вы можете использовать Facebook в качестве примера этого. Вы отправляете сообщение, и оно отправляется на сервер сайта, регистрируется в их журналах, хранится в их базах данных и т. Д. Сообщение также отправляется получателям, когда они становятся доступными в базе данных, когда приложение пользователя B выполняет поиск. Существуют хуки и обратные вызовы, которые позволяют получателю знать, что новое сообщение ожидает, и его приложение загружает его, как только оно получает уведомление, создавая видимость мгновенного обмена сообщениями; но на самом деле все это служит контентом для хостинга.

Легко сказать. Прямые сообщения от клиента к клиенту не будут иметь историю, которая следует за вами в разные браузеры (приложение может хранить историю чата на локальном компьютере, но оно не будет передаваться на другой компьютер, поскольку этот другой компьютер не был частью оригинальное прямое общение). Чат, проходящий через / сохраненный на веб-сайте, чаще всего имеет предыдущую историю чата, которая будет следить за вами (поскольку все ваши чаты отправляются и сохраняются на сайте, опять же, Facebook является отличным примером).

Вы имеете в виду, что есть два вида чата: 1) клиент-клиент, который состоит из связывания двух пользователей вместе через веб-сайт 2) метод обмена сообщениями, такой как чат в фейсбуке, заключается в том, что клиент должен искать новые сообщения, а сайты пересылают его ему непосредственно The1Dev 7 лет назад 0
Существуют и другие схемы доставки сообщений, которые доступны (и я видел использованные) для IM, но эти две являются наиболее распространенными. И да, как вы говорите, 1) это прямая связь между клиентами чата, в то время как 2) это скорее доска объявлений один на один: вы отправляете сообщения на общий сервер, клиент другого человека загружает с общий сервер, наоборот, просто с польским, чтобы он появился в режиме «реального времени». Другие методы довольно редки (если ваша цель - полностью анонимное общение, они становятся более популярными, чем эти два) Ruscal 7 лет назад 0
Спасибо @Ruscal за ваш ответ, это было очень полезно .. Очень признателен :) The1Dev 7 лет назад 0