Где Сейчас

Веб-сокет соединение

ws://comet.gdeseychas.ru:8088/channel/39ed3c51ea962c6f9ad5c34339cd30a1

WebSocket используется для мгновенной доставки сообщений (запросов и позиций) на подключенные клиенты (веб-браузер или приложение). А также для организации трекинга позиции в режиме реального времени. Для организации соединения на сервере используется фреймворк Atmosphere, который также позволяет соединяться через другие типы Comet-соединений (помимо WebSocket).

Канал :

channel (обязательный) 39ed3c51ea962c6f9ad5c34339cd30a1 - id канала для текущего пользователя. Его можно получить через API метод: GET /api/v1/users/me (поле 'code')

Push-Сообщение

Подписавшись на канал, можно получать сообщения от контактов сразу после отправки (если соединение установлено, то среднее время доставки 1-2 секунды).
Типы событий: checkin, request, delivered, read.

Пример входящего сообщения

{ "message":"Вика: Я здесь - площадь Сытнинская, 2, СПб", "counter":"1", "picture":"http://gdeseychas.ru/img/vika.jpg", "time":"1376731289117", "address":"площадь Сытнинская, 2, СПб", "event":"checkin", "name":"Вика", "userId":"5", "lng":"30.3105", "lat":"59.9567" }

Tracking

Сокет-соединение также используется для передачи и получения координат в Online-режиме. Сообщения отправляются в обе стороны и имеют одинаковый формат.

Пример сообщения-позиции

[ "point",412, 1215, 59.9567, 30.3105, 15, 49 ]

Пример ping-сообщения

[ "ping", 412, 1215 ]

Формат

Сообщение передается ввиде JSON-массива:
[
  <тип сообщения(point,ping)>",
  <id текущего пользователя>,
  <id контакта>,
  <долгота>, <широта>,
  <точность в м>,
  <скорость в км>
]

- Сообщения с координатами необходимо отправлять при каждом изменении позиции,
но не чаще чем раз в 500мс.
- Координаты с точностью более 99м (GSM координаты) отправлять не нужно.
- Пока установлено соединение необходимо не реже, чем раз в 5 секунд слать сообщение типа ping
(в том случае если координата не меняется дольше 5 секунд).