|
|
Таблица online_users
Назначение таблицы:
Таблица предназначена для хранения инфрмации о соединениях всех подключенных
клиентов. Наиболее часто используемые значения хранятся сервером в кэше.
Таблица периодически сканируется на устаревшие записи, которые удаляются.
При старте сервера таблица также проверяется.
Список полей таблицы:
| Название |
Тип |
Расшифровка |
Описание поля |
| uin |
float8 |
user uin |
Номер подключенного пользователя |
| iadr |
float8 |
ip address |
Реальный IP адресс клиента |
| uprt |
int4 |
udp port |
UDP порт клиента (связь с сервером) |
| tprt |
int4 |
tcp port |
TCP порт клиента (прямое соединение) |
| stat |
int4 |
user status |
Основной статус пользователя |
| uptm |
float8 |
user uptime |
Время подключения клиента |
| lutm |
float8 |
last update time |
Время последнего обновления записи командой ping (keepalive) |
| ttl |
int4 |
time2live |
Время "жизни" записи (таймаут) |
| prv |
int2 |
protocol vers |
Версия протокола работы с сервером |
| sseq |
int4 |
server seq1 |
Номер текущей последовательности для данного клиента |
| sseq2 |
int4 |
server seq2 |
Вторичный номер текущей последовательности для данного клиента |
| sess_id |
float8 |
session id |
Идентификатор сессии для клиентов V5 |
| state |
int2 |
client state |
Состояние клиента: 1 - на десктопе, 2 - в трэе, -1 - неизвестно (V3) |
| tcpver |
int2 |
tcp version |
Версия TCP протокола клиента |
| estat |
int4 |
ext status |
Расширенный статус клиента (день рождения, телефон, SMS, пейджер) |
| active |
int2 |
login state |
Показывает подключен ли клиент полностью (1) или только авторизован (0) |
| ishm |
int4 |
shm index |
Индексный номер пользователя в разделяемой памяти |
Создание таблицы:
Таблица создается сервером или утилитой при помощи запроса SQL. Прототип
запроса находится в модуле database\init_db.h
CREATE TABLE Online_Users (uin float8, iadr float8, uprt int4, tprt int4,
stat int4, uptm float8, lutm float8, ttl int4, prv int2, sseq int4, sseq2
int4, sess_id float8, state int2, tcpver int2, estat int4, active int2
DEFAULT 0, ishm int4 DEFAULT 0);
Таблица содержит индекс на поле uin для ускорения работы запросов. Индекс создается
следующим образом:
CREATE UNIQUE INDEX onln_uin ON Online_Users(uin)"
|