|
Передача сообщений в чате
|
|||
---|---|---|---|
#18+
Пытаюсь написать простой чат на Андроиде и немного запутался. Разобрался как отправлять сообщение от клиента к серверу, а как отправить от клиента к клиенту? Пересылать сообщение, полученное сервером от клиента другому клиенту? Где тогда должен работать сервер? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2014, 20:24 |
|
Передача сообщений в чате
|
|||
---|---|---|---|
#18+
Витяй1991, нужно определиться с технологией. как правило идет запрос от клиента к серверу и сервер отвечает. сервер мо ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2014, 09:49 |
|
Передача сообщений в чате
|
|||
---|---|---|---|
#18+
вообще то всегда в данном случае будет идти через сервер. даже если клиент-клиент. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2014, 18:27 |
|
Передача сообщений в чате
|
|||
---|---|---|---|
#18+
Джибсвообще то всегда в данном случае будет идти через сервер. даже если клиент-клиент. спасибо! а как тогда организовать процесс передачи сообщений? нашел пример, где клиент посылал сообщение, сервер заносил сообщение в БД, а другой клиент вытаскивал это сообщение из БД, но разве это так делается? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2014, 20:42 |
|
Передача сообщений в чате
|
|||
---|---|---|---|
#18+
Джибсвообще то всегда в данном случае будет идти через сервер. даже если клиент-клиент. ну можно организовать и общение клиент-клиент. пока я рассматриваю этот вопрос чисто теоритически.... если использовать websocket и на клиенте установить серверную + клиентскую части. сервер использовать только для регистрации клиентов и назначения роли(клиент/сервер) для соединения между клиентами. но т.к. сервер всё рамно требуется, то проще его использовать в качестве пересылающего механизма. websocket идеально подходит для этих целей. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2014, 20:44 |
|
Передача сообщений в чате
|
|||
---|---|---|---|
#18+
да, лучше websocket + пуш уведомления, если не в сети клиент. ну как решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2014, 22:09 |
|
Передача сообщений в чате
|
|||
---|---|---|---|
#18+
вадяну можно организовать и общение клиент-клиент. пока я рассматриваю этот вопрос чисто теоритически.... Дохлый номер - первая проблема в том что у большинства пользователей динамический IP адрес т.е. чтобы к клиентскому серваку подключиться надо как-то узнать его адрес, а вторая и самая главная проблема - что клиенты в большинстве своем в сеть выходят через точки доступа а это маршрутизаторы, которые не дают доступ по умолчанию к портам внутри своей сети из-вне и есть третья причина - это провайдеры "пакостят" владельцам динамических серверов - т.е периодически их пакеты не пропускают для того чтобы они переходили на платные статические адреса. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2014, 11:40 |
|
Передача сообщений в чате
|
|||
---|---|---|---|
#18+
[quot Дохлый номер - первая проблема в том что у большинства пользователей динамический IP адрес т.е. чтобы к клиентскому серваку подключиться надо как-то узнать его адрес[/quot] эта проблема решается просто - через сервер, где регистрируются клиенты и по имени и привязывается к имени динамический IP. сервер в любом случае нужен. , а вторая и самая главная проблема - что клиенты в большинстве своем в сеть выходят через точки доступа а это маршрутизаторы, которые не дают доступ по умолчанию к портам внутри своей сети из-вне и есть третья причина - это провайдеры "пакостят" владельцам динамических серверов - т.е периодически их пакеты не пропускают для того чтобы они переходили на платные статические адреса. это не проблема, это - полный запрет на использование чего-либо через "неофициальные порты" если стоит задача написать небольшой чат для компании - то нет проблем в организации сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2014, 08:39 |
|
Передача сообщений в чате
|
|||
---|---|---|---|
#18+
Всем спасибо! А если так: пользователь устройства заходит в сеть, программа определяет IP его устройства и заносит его в БД на сервере. Пользователь отправляет сообщение, серверная программа находит в БД IP того, кому оно предназначено и отправляет ему сообщение ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2014, 11:07 |
|
Передача сообщений в чате
|
|||
---|---|---|---|
#18+
Витяй1991А если так: пользователь устройства заходит в сеть, программа определяет IP его устройства и заносит его в БД на сервере. Вообще-то ip-адрес устройства может смениться в любое время. Хоть на следующей вышке, к которой оно прицепится. Нужно генерировать какой-нибудь уникальный идентификатор устройства. Например, на основе номера телефона и imei устройства, как это сделано в WatsApp. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2014, 11:18 |
|
Передача сообщений в чате
|
|||
---|---|---|---|
#18+
да проще какой ни-ть токен выдавать на время общения. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2014, 11:23 |
|
Передача сообщений в чате
|
|||
---|---|---|---|
#18+
авторВообще-то ip-адрес устройства может смениться в любое время. Хоть на следующей вышке, к которой оно прицепится. ну в этом не уверен. при новом подключении - скорее всего. но во время сеанса??? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2014, 11:45 |
|
Передача сообщений в чате
|
|||
---|---|---|---|
#18+
[quot wadman]Витяй1991Нужно генерировать какой-нибудь уникальный идентификатор устройства. Например, на основе номера телефона и imei устройства, как это сделано в WatsApp. Для этого нужно в устройстве иметь симку и слот для нее - а у многих планшетов есть WiFi но нет симки. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2014, 11:45 |
|
Передача сообщений в чате
|
|||
---|---|---|---|
#18+
Все пользователи одной локальной сети, сидящие за прокси будут иметь одинаковый IP адрес а сети такие могут быть огромными сюда плюсуем пользователей NAT - поэтому привзяваться к IP пользователя невозможно - сервер должен при подключении проверить имя и пароль и выдать GUID, сохранить его в своей базе и указать срок действия, клиент запросы передает с указанием этого GUID, если сервер не нашел его или срок его закончился - то в ответе выдать запрос переподключения - вот и все. Это все должно быть учтено в протоколе обмена сервера и клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2014, 11:56 |
|
|
start [/forum/topic.php?fid=13&msg=38780826&tid=1331551]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
194ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 301ms |
0 / 0 |