Время идет, а хочется обновления на собственном сервере SMPP Exolve. Наверное сегодня буду краток в словах, но богат кодом. Пожалуй сразу начну с изменений:
Изменил заголовки страниц, тексты. Теперь статус подключения показывает более детальную информацию.
Поработал над версткой, в частности добавил счетик сообщений, сортировку по времени и табличное отображение. Теперь удобно искать сообщения по времени.
А теперь сам код:
Код |
---|
import smpplib.clientimport smpplib.constsimport smpplib.gsmimport smpplib.exceptionsfrom flask import Flask, jsonify, render_template, request, redirect, url_for, sessionfrom flask_sqlalchemy import SQLAlchemyimport threadingimport atexitfrom datetime import datetime, timedelta |
Код |
---|
<!DO CTYPE html><ht ml lang="ru"><head> <met a charset="UTF-8"> <met a name="viewport" content="width=device-width, initial-scale=1.0"> <title>Сервис входящих SMS Exolve</title> <li nk href="< |
Код |
---|
<!DO CTYPE html><ht ml lang="ru"><head> <met a charset="UTF-8"> <met a name="viewport" content="width=device-width, initial-scale=1.0"> <title>Подключение к SMPP Exolve серверу</title> <li nk href="< |
1. Запуск приложения и база данных:
Flask приложение запускается, подключается к SQLite базе данных, и создает таблицы для хранения SMS сообщений, если они еще не существуют.
Пользователь заходит на главную страницу, где его просят ввести логин и пароль для подключения к SMPP серверу. Введенные данные отправляются на сервер, где происходит подключение к SMPP серверу с использованием введенных учетных данных.
Функция connect_to_smpp используется для подключения к SMPP серверу и прослушивания входящих сообщений. Если подключение успешно, приложение начинает слушать входящие сообщения в фоновом потоке.
При получении SMS сообщения оно обрабатывается функцией handle_message. Сообщение декодируется, и информация о нем сохраняется в базу данных.
После успешного подключения пользователь перенаправляется на страницу с таблицей, где отображаются все полученные сообщения. Пользователь может сортировать сообщения по дате — либо показывая сначала новые, либо сначала старые.
Таблица данных обновляется автоматически каждые 5 секунд, подгружая новые сообщения.
Временные метки сообщений корректируются, добавляя три часа к UTC времени, чтобы отображать время в московском часовом поясе.
Когда приложение закрывается, функция close_smpp_client корректно завершает соединение с SMPP сервером.
Таким образом, это приложение предоставляет удобный веб-интерфейс для просмотра входящих SMS сообщений с возможностью сортировки по времени и корректным отображением времени в московском часовом поясе.
И на этом пора заканчивать с модернизацией собственного SMPP сервера, который работает МТС Exolve. Если есть идеи как еще улучшить отображение входящих СМС, то пишите в комментариях.
Всем пока!
Для того, чтобы оставлять комментарии, необходимо пройти авторизацию
Авторизоваться