Compare commits
5 Commits
8696b4bfa0
...
1623dd391d
| Author | SHA1 | Date |
|---|---|---|
|
|
1623dd391d | |
|
|
77da4a1b61 | |
|
|
f9b6b2c75e | |
|
|
930a95453f | |
|
|
6a82004727 |
|
|
@ -1 +0,0 @@
|
|||
TODO
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
# Описание протокола TamTam по Websocket
|
||||
|
||||
## Основная информация
|
||||
В веб версии мессенджера ТамТам используется протокол, работающий поверх Websocket.
|
||||
|
||||
Пакеты в этом протоколе являются текстовыми JSON данными.
|
||||
|
||||
Структура пакета:
|
||||
```
|
||||
{
|
||||
ver: int,
|
||||
cmd: int,
|
||||
seq: int,
|
||||
opcode: int,
|
||||
payload: {}
|
||||
}
|
||||
```
|
||||
|
||||
* ver - версия протокола
|
||||
* cmd - определяет, от кого отправлен пакет. клиент - 0, сервер - 1
|
||||
* seq - порядковый номер пакета (сервер дублирует его из запроса клиента)
|
||||
* opcode - команда
|
||||
* payload - полезная нагрузка команды
|
||||
|
||||
## Команды протокола
|
||||
|
||||
### PING (1)
|
||||
Клиент периодически отправляет пакет с командой PING и пустой нагрузкой серверу.
|
||||
Сервер отвечает ему тем же.
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
# Навигация по faq
|
||||
|
||||
## Работа с сервером
|
||||
[Установка сервера](install.md)
|
||||
- [Установка сервера](install.md)
|
||||
|
||||
## Патчинг клиентов
|
||||
[Патч мобильного клиента для Android](patch_apk.md)
|
||||
[Патч мобильного клиента для IOS](patch_ipa.md)
|
||||
- [Патч мобильного клиента для Android](patch_apk.md)
|
||||
- [Патч мобильного клиента для IOS](patch_ipa.md)
|
||||
|
|
|
|||
|
|
@ -22,5 +22,5 @@ https://t.me/openmax_alerts
|
|||
Клиент может быть практически любым, главное условие - чтобы он был совместим с официальным сервером (`api.oneme.ru` / `api.tamtam.chat`).
|
||||
|
||||
# Дополнительная информация
|
||||
[Faq](faq/readme.md)
|
||||
[Открытые сервера](faq/servers.md)
|
||||
- [FAQ](faq/readme.md)
|
||||
- [Публичные сервера](faq/servers.md)
|
||||
|
|
|
|||
|
|
@ -123,6 +123,8 @@ class OnemeMobileServer:
|
|||
except Exception as e:
|
||||
self.logger.error(f"Произошла ошибка при работе с клиентом {address[0]}:{address[1]}: {e}")
|
||||
traceback.print_exc()
|
||||
except AttributeError:
|
||||
self.logger.error(f"Повреждённый пакет от клиента {address[0]}:{address[1]}, пропускаю")
|
||||
|
||||
# Удаляем клиента из словаря
|
||||
if userPhone:
|
||||
|
|
@ -184,4 +186,4 @@ class OnemeMobileServer:
|
|||
self.logger.info(f"Сокет запущен на порту {self.port}")
|
||||
|
||||
async with self.server:
|
||||
await self.server.serve_forever()
|
||||
await self.server.serve_forever()
|
||||
|
|
|
|||
Loading…
Reference in New Issue