Пятница, 24 апреля, 2026
Digital 2 - Цифровая реальность
  • Главная
  • Новости
    Промокоды: как находить, проверять и использовать для максимальной выгоды

    Промокоды: как находить, проверять и использовать для максимальной выгоды

    Контекстная реклама: как работает, зачем нужна и как настроить эффективную кампанию

    Контекстная реклама: как работает, зачем нужна и как настроить эффективную кампанию

    Услуги антихром: что это, зачем нужны и как выбрать исполнителя

    Услуги антихром: что это, зачем нужны и как выбрать исполнителя

    Порожки для пола: виды, назначение и тонкости выбора

    Порожки для пола: виды, назначение и тонкости выбора

    Установка автоматических систем газового пожаротушения

    Установка автоматических систем газового пожаротушения

    WhatsApp Business API: возможности и преимущества для вашего бизнеса

    WhatsApp Business API: возможности и преимущества для вашего бизнеса

    Чистые помещения под ключ для производства: комплексный подход

    Чистые помещения под ключ для производства: комплексный подход

    Как использовать промокод в Lamoda

    Как использовать промокод в Lamoda

    Автоматизация ключевых процессов в бухгалтерии с помощью 1С: Бухгалтерия 8

    Автоматизация ключевых процессов в бухгалтерии с помощью 1С: Бухгалтерия 8

  • VR-Новости
    Подключение виртуальной АТС: пошаговая инструкция для бизнеса

    Подключение виртуальной АТС: пошаговая инструкция для бизнеса

    Криптовалюта для начинающих: полное руководство, биржи и тренды

    Криптовалюта для начинающих: полное руководство, биржи и тренды

    Прибыльность майнинга в 2026 году: честный разбор с цифрами

    Прибыльность майнинга в 2026 году: честный разбор с цифрами

    Пополнение Apple ID: все способы и полезные советы

    Пополнение Apple ID: все способы и полезные советы

    Продвижение сайтов: полный гид по SEO и интернет-маркетингу в 2026 году

    Продвижение сайтов: полный гид по SEO и интернет-маркетингу в 2026 году

    Лучшие гемблинг-партнёрки: как выбрать, заработать и избежать мошенничества

    Лучшие гемблинг-партнёрки: как выбрать, заработать и избежать мошенничества

    UI-дизайн сайта в Figma: от идеи до готового макета

    UI-дизайн сайта в Figma: от идеи до готового макета

    CRM для застройщиков: как девелоперу автоматизировать продажи

    CRM для застройщиков: как девелоперу автоматизировать продажи

    PGLens: корпоративный мониторинг и управление PostgreSQL

    PGLens: корпоративный мониторинг и управление PostgreSQL

  • Обучение
    • Все
    • Программирование
    • Профессии IT
    1С: возможности, применение и особенности платформы

    1С: возможности, применение и особенности платформы

    ChatGPT: архитектура, возможности и влияние на современное общество

    ChatGPT: архитектура, возможности и влияние на современное общество

    Внедрение ИИ в бизнес под ключ: цифровые решения от Secret Agents

    Внедрение ИИ в бизнес под ключ: цифровые решения от Secret Agents

    Как выбрать ноутбук

    Как выбрать ноутбук

    SEO-продвижение сайта: основы и эффективные стратегии

    SEO-продвижение сайта: основы и эффективные стратегии

    Зачем вашей компании IT-аутсорсинг: скрытые преимущества и прямая выгода

    Создание сайта на заказ: ваш цифровой фундамент для успешного бизнеса

    Создание сайта на заказ: ваш цифровой фундамент для успешного бизнеса

    Принцип работы современного языкового помощника

    Принцип работы современного языкового помощника

    Как делается оцифровка кино-видео-фото материалов

    Как делается оцифровка кино-видео-фото материалов

  • Технологии будущего
    Металлопрокат: виды, характеристики и сферы применения

    Металлопрокат: виды, характеристики и сферы применения

    Что дает и зачем нужен диплом MBA

    Что дает и зачем нужен диплом MBA

    Золотые кольца на заказ: искусство создания уникального украшения

    Золотые кольца на заказ: искусство создания уникального украшения

    Как отрегулировать пластиковые окна на зиму

    Как отрегулировать пластиковые окна на зиму

    Что такое Подарочная карта App Store

    Что такое Подарочная карта App Store

    Как составить идеальное резюме: советы экспертов

    Как составить идеальное резюме: советы экспертов

    «Помощь в ежедневных сценариях кажется очевидным применением ИИ»

    «Помощь в ежедневных сценариях кажется очевидным применением ИИ»

    «Модель ориентирована на спортсменов и любителей уличных активностей»

    «Модель ориентирована на спортсменов и любителей уличных активностей»

    «Матовый экран минимизирует блики даже при ярком освещении»

    «Матовый экран минимизирует блики даже при ярком освещении»

  • Новости програмирования
    Игры Ростелеком: как подключить и выбрать лучшие игровые сервисы

    Игры Ростелеком: как подключить и выбрать лучшие игровые сервисы

    UI-дизайн сайта в Figma: от идеи до готового макета

    Преимущества CRM-систем: как автоматизация меняет бизнес

    Почему OpenClaw и опенсорсные агенты растут быстрее корпоративных решений

    Почему OpenClaw и опенсорсные агенты растут быстрее корпоративных решений

    Кабель ВВГ: надежный выбор для безопасной и эффективной проводки

    Кабель ВВГ: надежный выбор для безопасной и эффективной проводки

    Разработка мобильных приложений и сервисов

    Разработка мобильных приложений и сервисов

    Преимущества автоматизации бизнеса: путь к эффективности и прибыли

    Преимущества автоматизации бизнеса: путь к эффективности и прибыли

    Внедрение информационных систем на платформе 1С:Предприятие и Битрикс24: стратегия цифровой трансформации бизнеса

    Внедрение информационных систем на платформе 1С:Предприятие и Битрикс24: стратегия цифровой трансформации бизнеса

    Современные серверные решения для бизнеса и ИТ-инфраструктуры

    Современные серверные решения для бизнеса и ИТ-инфраструктуры

    Кабельная продукция: виды, назначение и особенности применения

    Кабельная продукция: виды, назначение и особенности применения

  • Статьи
    • Все
    • Бизнес
    • Гаджеты
    • Сервисы
    • Технологии
    • Цифровая экономика
    Аккумуляторные батареи для ИБП: обзор современных технологий

    Аккумуляторные батареи для ИБП: обзор современных технологий

    Как увеличить посещаемость сайта: стратегии работы с трафиком, тестирование рекламных каналов и выполнение KPI

    Как увеличить посещаемость сайта: стратегии работы с трафиком, тестирование рекламных каналов и выполнение KPI

    Детейлинг автомобиля: профессиональный уход, защита и восстановление

    Детейлинг автомобиля: профессиональный уход, защита и восстановление

    Как выбрать входную дверь: полное руководство по безопасности, теплу и стилю

    На что обращать внимание при выборе входной двери: полное руководство

    Как выбрать входную дверь: полное руководство по безопасности, теплу и стилю

    Как выбрать входную дверь: полное руководство по безопасности, теплу и стилю

    Призыв в армию: категории годности, заболевания и права призывника

    Призыв в армию: категории годности, заболевания и права призывника

    История зарождения криптобирж: от первой сделки до глобальных платформ

    Что такое криптобиржа: полное руководство

    История зарождения криптобирж: от первой сделки до глобальных платформ

    История зарождения криптобирж: от первой сделки до глобальных платформ

    Управление производственными активами: стратегии, методы и цифровые решения

    Управление производственными активами: стратегии, методы и цифровые решения

Нет результатов
Просмотреть все результаты
  • Главная
  • Новости
    Промокоды: как находить, проверять и использовать для максимальной выгоды

    Промокоды: как находить, проверять и использовать для максимальной выгоды

    Контекстная реклама: как работает, зачем нужна и как настроить эффективную кампанию

    Контекстная реклама: как работает, зачем нужна и как настроить эффективную кампанию

    Услуги антихром: что это, зачем нужны и как выбрать исполнителя

    Услуги антихром: что это, зачем нужны и как выбрать исполнителя

    Порожки для пола: виды, назначение и тонкости выбора

    Порожки для пола: виды, назначение и тонкости выбора

    Установка автоматических систем газового пожаротушения

    Установка автоматических систем газового пожаротушения

    WhatsApp Business API: возможности и преимущества для вашего бизнеса

    WhatsApp Business API: возможности и преимущества для вашего бизнеса

    Чистые помещения под ключ для производства: комплексный подход

    Чистые помещения под ключ для производства: комплексный подход

    Как использовать промокод в Lamoda

    Как использовать промокод в Lamoda

    Автоматизация ключевых процессов в бухгалтерии с помощью 1С: Бухгалтерия 8

    Автоматизация ключевых процессов в бухгалтерии с помощью 1С: Бухгалтерия 8

  • VR-Новости
    Подключение виртуальной АТС: пошаговая инструкция для бизнеса

    Подключение виртуальной АТС: пошаговая инструкция для бизнеса

    Криптовалюта для начинающих: полное руководство, биржи и тренды

    Криптовалюта для начинающих: полное руководство, биржи и тренды

    Прибыльность майнинга в 2026 году: честный разбор с цифрами

    Прибыльность майнинга в 2026 году: честный разбор с цифрами

    Пополнение Apple ID: все способы и полезные советы

    Пополнение Apple ID: все способы и полезные советы

    Продвижение сайтов: полный гид по SEO и интернет-маркетингу в 2026 году

    Продвижение сайтов: полный гид по SEO и интернет-маркетингу в 2026 году

    Лучшие гемблинг-партнёрки: как выбрать, заработать и избежать мошенничества

    Лучшие гемблинг-партнёрки: как выбрать, заработать и избежать мошенничества

    UI-дизайн сайта в Figma: от идеи до готового макета

    UI-дизайн сайта в Figma: от идеи до готового макета

    CRM для застройщиков: как девелоперу автоматизировать продажи

    CRM для застройщиков: как девелоперу автоматизировать продажи

    PGLens: корпоративный мониторинг и управление PostgreSQL

    PGLens: корпоративный мониторинг и управление PostgreSQL

  • Обучение
    • Все
    • Программирование
    • Профессии IT
    1С: возможности, применение и особенности платформы

    1С: возможности, применение и особенности платформы

    ChatGPT: архитектура, возможности и влияние на современное общество

    ChatGPT: архитектура, возможности и влияние на современное общество

    Внедрение ИИ в бизнес под ключ: цифровые решения от Secret Agents

    Внедрение ИИ в бизнес под ключ: цифровые решения от Secret Agents

    Как выбрать ноутбук

    Как выбрать ноутбук

    SEO-продвижение сайта: основы и эффективные стратегии

    SEO-продвижение сайта: основы и эффективные стратегии

    Зачем вашей компании IT-аутсорсинг: скрытые преимущества и прямая выгода

    Создание сайта на заказ: ваш цифровой фундамент для успешного бизнеса

    Создание сайта на заказ: ваш цифровой фундамент для успешного бизнеса

    Принцип работы современного языкового помощника

    Принцип работы современного языкового помощника

    Как делается оцифровка кино-видео-фото материалов

    Как делается оцифровка кино-видео-фото материалов

  • Технологии будущего
    Металлопрокат: виды, характеристики и сферы применения

    Металлопрокат: виды, характеристики и сферы применения

    Что дает и зачем нужен диплом MBA

    Что дает и зачем нужен диплом MBA

    Золотые кольца на заказ: искусство создания уникального украшения

    Золотые кольца на заказ: искусство создания уникального украшения

    Как отрегулировать пластиковые окна на зиму

    Как отрегулировать пластиковые окна на зиму

    Что такое Подарочная карта App Store

    Что такое Подарочная карта App Store

    Как составить идеальное резюме: советы экспертов

    Как составить идеальное резюме: советы экспертов

    «Помощь в ежедневных сценариях кажется очевидным применением ИИ»

    «Помощь в ежедневных сценариях кажется очевидным применением ИИ»

    «Модель ориентирована на спортсменов и любителей уличных активностей»

    «Модель ориентирована на спортсменов и любителей уличных активностей»

    «Матовый экран минимизирует блики даже при ярком освещении»

    «Матовый экран минимизирует блики даже при ярком освещении»

  • Новости програмирования
    Игры Ростелеком: как подключить и выбрать лучшие игровые сервисы

    Игры Ростелеком: как подключить и выбрать лучшие игровые сервисы

    UI-дизайн сайта в Figma: от идеи до готового макета

    Преимущества CRM-систем: как автоматизация меняет бизнес

    Почему OpenClaw и опенсорсные агенты растут быстрее корпоративных решений

    Почему OpenClaw и опенсорсные агенты растут быстрее корпоративных решений

    Кабель ВВГ: надежный выбор для безопасной и эффективной проводки

    Кабель ВВГ: надежный выбор для безопасной и эффективной проводки

    Разработка мобильных приложений и сервисов

    Разработка мобильных приложений и сервисов

    Преимущества автоматизации бизнеса: путь к эффективности и прибыли

    Преимущества автоматизации бизнеса: путь к эффективности и прибыли

    Внедрение информационных систем на платформе 1С:Предприятие и Битрикс24: стратегия цифровой трансформации бизнеса

    Внедрение информационных систем на платформе 1С:Предприятие и Битрикс24: стратегия цифровой трансформации бизнеса

    Современные серверные решения для бизнеса и ИТ-инфраструктуры

    Современные серверные решения для бизнеса и ИТ-инфраструктуры

    Кабельная продукция: виды, назначение и особенности применения

    Кабельная продукция: виды, назначение и особенности применения

  • Статьи
    • Все
    • Бизнес
    • Гаджеты
    • Сервисы
    • Технологии
    • Цифровая экономика
    Аккумуляторные батареи для ИБП: обзор современных технологий

    Аккумуляторные батареи для ИБП: обзор современных технологий

    Как увеличить посещаемость сайта: стратегии работы с трафиком, тестирование рекламных каналов и выполнение KPI

    Как увеличить посещаемость сайта: стратегии работы с трафиком, тестирование рекламных каналов и выполнение KPI

    Детейлинг автомобиля: профессиональный уход, защита и восстановление

    Детейлинг автомобиля: профессиональный уход, защита и восстановление

    Как выбрать входную дверь: полное руководство по безопасности, теплу и стилю

    На что обращать внимание при выборе входной двери: полное руководство

    Как выбрать входную дверь: полное руководство по безопасности, теплу и стилю

    Как выбрать входную дверь: полное руководство по безопасности, теплу и стилю

    Призыв в армию: категории годности, заболевания и права призывника

    Призыв в армию: категории годности, заболевания и права призывника

    История зарождения криптобирж: от первой сделки до глобальных платформ

    Что такое криптобиржа: полное руководство

    История зарождения криптобирж: от первой сделки до глобальных платформ

    История зарождения криптобирж: от первой сделки до глобальных платформ

    Управление производственными активами: стратегии, методы и цифровые решения

    Управление производственными активами: стратегии, методы и цифровые решения

Нет результатов
Просмотреть все результаты
Digital 2 - Цифровая реальность
Нет результатов
Просмотреть все результаты
Главная Обучение

Заметки Python #18: Сетевое программирование

22.05.2019

Вот мы и добрались до самого главного — обсуждения взаимодействия между сервером и клиентом. Как они соединяются друг с другом? Какие протоколы нужно использовать и что такое сокет?

Протокол

Сетевое программирование — это та его часть, которая подразумевает обмен данными между сервером и клиентом. При этом клиент и сервер — это не обязательно разные физические сервера, компьютеры, гаджеты. Клиент-серверная архитектура может быть реализована логически, на одном «железе», в одной комнате, за одним столом. Для взаимодействия между ними используется некоторый свод правил по транспортировке, инкапсуляции, очередности пакетов и сетевого взаимодействия — это называется протоколом передачи данных. Приложения, написанные на Python обычно используют протоколы транспортного уровня TCP и UDP.

TCP используют, чтобы формировать между компьютерами двусторонний канал обмена данными. Благодаря TCP пакеты гарантированно доставляются с соблюдением порядка их очередности, с автоматическим разбиением данных на пакеты и контролем их передачи. В то же время TCP работает медленно, так как потерянные пакеты многократно повторно отправляются, а операций, выполняемых над пакетами, слишком много.

Протокол UDP — низкоуровневый. С его помощью компьютеры могут отправлять и получать информацию в виде отдельных пакетов, не создавая логическое соединение. В отличие от TCP, взаимодействия по протоколу UDP не отличаются надежностью. Это усложняет управление ими в приложениях, в которых при обмене информацией нужны гарантии. Поэтому большинство интернет-приложений используют TCP.

Сокеты

С протоколами разобрались. Но как этими протоколами пользоваться нашим клиентам и сервером? Это взаимодействие осуществляется с помощью сокета. Сокет — абстрактный объект, представляющий конечную точку соединения. . С сокетом в Питоне можно работать, как с файлом — считывать его и получать данные. Сокет содержит в себе два параметра: IP-адрес и порт.

Сервер, принимая соединение присваивает своему сокету определенный порт. Порт — число в заголовках пакетов TCP, UDP, указывающее, для какого приложения в системе предназначен данный IP-пакет.  Использовать порты с номерами 0-1023 нельзя — они зарезервированы под служебные сетевые протоколы (например, 21 — FTP, 80 — HTTP и т.д.). Клиент, отправляя данные тоже должен создать свой сокет. Два сокета с обоих сторон создают виртуальное соединение по которому будет идти передача данных. Нужно отметить, что при работе с протоколом TCP, создается два сокета: один из них — слушающий (listen). Он переходит в режим ожидания и активизируется при появлении нового соединения. При этом можно проверять актуальные активные соединения, установить периодичность операции. Второй — сокет для обмена данных с клиентом (accept). Это два разных сокета, не путайте

Работа с сокетами в Python

Для создания сокетов в питоне используется модуль socket. В нем так же имеются методы для , установление и закрытие соединения, отправку данных по сети и их получение и другие операции.

Общие Серверные Клиентские
socket — создать сокет bind — привязать сокет к IP-адресу и порту машины connect — установить соединение
send — передать данные listen — просигнализировать о готовности принимать соединения
recv — получить данные accept — принять запрос на установку соединения
close — закрыть соединение

Работа ТСР протокола

Чтобы понять, как с сокетом работает протокол ТСР, посмотрим на изображение ниже. Пояснение будет в коде программы (для примера мы отправляем клиенту текущее время)

Серверная часть:

Функция socket() инициализирует создание сокета. В ней передаются два параметра: communication domain и type of socket. AF_INET — это коммуникационный домен, который задает сетевую направленность нашему сокету. Тип сокета — SOCK_STREAM — он определяет сокет как потоковый, то есть реализующий последовательный, надежный двусторонний поток байтов по протоколу ТСР. Создалась конечная точка подключения — сокет. Функция socket() возвращает нам файловый дескриптор, который позволяет работать с сокетом, как с файлом — записывать и считывать данные в/из него. Метод encode применяется здесь, т.к. данные нужно отправлять по сети в виде байтов.

[code]

# серверная часть
from socket import *
import time

Статьи по теме

1С: возможности, применение и особенности платформы

1С: возможности, применение и особенности платформы

11.03.2026
ChatGPT: архитектура, возможности и влияние на современное общество

ChatGPT: архитектура, возможности и влияние на современное общество

21.02.2026

s = socket(AF_INET, SOCK_STREAM) # Создается сокет протокола TCP
s.bind((», 10000)) # Присваиваем ему порт 10000
s.listen(10) # Максимальное количество одновременных запросов

while True:
client, addr = s.accept() # акцептим запрос на соединение
print(client)
print(«Запрос на соединение от %s» % str(addr))
timestr = time.ctime(time.time()) + «\n»
client.send(timestr.encode(‘utf-8’)) #передаем данные, предварительно упаковав их в байты
client.close() # закрываем соединение

[/code]

Если вы работаете в среде программирования, то разрешите вашему серверу работать в вашей локальной сети:

Клиентская часть

Клиент устанавливает соединение с помощью метода connect (в нашем случае, localhost, т.к. сервер и клиент на одной машине). Как мы уже знаем, сервер отправляет нам последовательность кодированных байтов — наша задача декодировать их в строки юникода

[code]

# клиентская часть

from socket import *

s = socket(AF_INET, SOCK_STREAM) # создаем аналогичный сокет, как у сервера
s.connect((‘localhost’, 10000)) # коннектимся с сервером
tm = s.recv(1024) # Принимаем не более 1024 байта данных
s.close() # закрываем соединение
print(«Текущее время: %s» % tm.decode(‘utf-8’)) # получаем данные, декодировав байты

[/code]

Как происходит кодирование/декодирование данных?

Строки, байты, изменяемые строки байтов:

Код / данные Результат print(type())
i= ‘Data’ <class ‘str’> — строка
bi = b’Data’ <class ‘bytes’> — строка байтов
ba = bytearray(bi) <class ‘bytearray’> — изменяемая строка байтов
i2 = bi.decode(‘cp1251’) <class ‘str’> — из строки байт в unicode-строку
bi2 = i.encode(‘koi8-r’) <class ‘bytes’> — из unicode-строки в строку байт
ba2 = bytearray(i, ‘utf-8’) <class ‘bytearray’> — из unicode-строки в массив байтов

Отправка и приём сообщений

В качестве примера можно рассмотреть простой механизм отправки сообщений от клиента к серверу и обратно. Сервер получает приветствие от клиента и отправляет ответ клиенту. Клиент, соответственно, отправляет приветствие серверу и получает от него ответ

Серверная часть:

[code]

# клиентская часть

from socket import *
import time

s = socket(AF_INET, SOCK_STREAM) # Создаем сокет TCP
s.bind((», 11111)) # Присваиваем порт 11111
s.listen(5) # пять запросов максимум
while True: # пока выполняется условие (пока есть запросы на подключение от клиента)
client, addr = s.accept() # принимаем запрос на соединение
data = client.recv(1000000) # указываем максимальное количество данных, которое можно принять от клиента
print(‘Месседж: ‘, data.decode(‘utf-8’), ‘, пришло от него: ‘, addr)
msg = ‘Купи виски’
client.send(msg.encode(‘utf-8’)) #передаем данные, предварительно упаковав их в байты
client.close()

[/code]

 

Клиентская часть:

[code]

# клиентская часть
from socket import *

s = socket(AF_INET, SOCK_STREAM) # Создаем сокет TCP
s.connect((‘localhost’, 11111)) # коннект к серверу
msg = ‘Привет, сервер’
s.send(msg.encode(‘utf-8’))  #передаем данные, предварительно упаковав их в байты
data = s.recv(1000000) #получаем не более 1000000 байт
print(‘Сообщение от сервера: ‘, data.decode(‘utf-8’), ‘, длиной ‘, len(data), ‘ байт’) #получаем сообщение от сервера, декодировав байты юникод
s.close()

[/code]

JSON Instant Messaging

JIM — протокол для обмена данных между клиентом и сервером, который работает через TCP-сокеты (SOCK_STREAM) и передачу JSON-объектов. Все сетевые операции проходят в байтовом представлении. Данные в JSON-формате в протоколе JIM всегда содержат два поля: action и time.

Поле action задает характер действия — авторизация или отправка сообщения и т.п.

Поле time показывает время отправки данного сообщение (используется UNIX-время  — определяется как количество секунд, прошедших с полуночи (00:00:00 UTC) 1 января 1970 года)

JSON-объекты в JIM имеют ограничение по количеству символов. Например, сам текст сообщения ограничен 500 символами. Остальные ограничения:

Поле action — «Действие», 15 символов

Поле response — «Код ответа сервера», 3 символа (цифры)

Поле name — «Имя пользователя  или название чата». Здесь максимум 25 символов;

Весь скомпилированный JSON-объект должен уложиться в 640 символов.

Аутентификация

Для того, чтобы инициализировать процесс аутентификации, надо создать такой JSON-объект:

[code]

{
«action»: «authenticate»,
«time»: <unix timestamp>,
«user»: {
«account_name»: «digital2»,
«password»: «superpythontools»
}
}

[/code]

Ответы сервера будут содержать поле response, и может быть еще одно (необязательное) поле alert/error с текстом ошибки.

[code]

{
«response»: код,
«alert»: текст
}

[/code]

Подключение, отключение, авторизация

Авторизация — не обязательное условие при использовании JIM, т.е. его могут использовать любые пользователи. Если авторизация будет нужна на каком-то этапе, сервер выдаст алерт с кодом 401. Если аутентификация всё же нужна, то сервер может выдать один из нескольких вариантов респонзов:

[code]

{
«response»: 200,
«alert»:»Необязательное сообщение/уведомление»
}

{
«response»: 402,
«error»: «This could be «wrong password» or «no account with that name»»
}

{
«response»: 409,
«error»: «Someone is already connected with the given user name»
}

[/code]

 

Отключение от сервера должно сопровождаться сообщением “quit”:

[code]

{
«action»: «quit»
}

[/code]

В сети/ не в сети

Для того, чтобы обозначить своё присутствие в «онлайне», клиент должен отправлять специальное presence сообщение с полем type

[code]

{
«action»: «presence»,
«time»: <unix timestamp>,
«type»: «status»,
«user»: {
«account_name»: «digital2»,
«status»: «User is online»
}
}

[/code]

 

В свою очередь, сервер посылает специальный probe-запрос для проверки доступности клиента:

[code]

{
«action»: «probe»,
«time»: <unix timestamp>,
}

[/code]

Алерты и ошибки сервера

Код Что означает?
1xx — информационные сообщения 100 — базовое уведомление; 101 — важное уведомление.
2xx — успешное завершение: 200 — OK;  201 (created) — объект создан; 202 (accepted) — подтверждение.
4xx — ошибка на стороне клиента: 400 — неправильный запрос/JSON-объект; 401 — не авторизован; 402 — неправильный логин/пароль; 403 (forbidden) — пользователь заблокирован; 404 (not found) — пользователь/чат отсутствует на сервере; 409 (conflict) — уже имеется подключение с указанным логином; 410 (gone) — адресат существует, но недоступен (offline).
5xx — ошибка на стороне сервера: 500 — ошибка сервера.

 

Обмен сообщениями

Экшн msg для сервера означает одно — ему надо передать сообщение адресату из поля to. Если не задана кодировка в поле encoding, то сервер будет считывать данные в ascii-формате

[code]

{
«action»: «msg»,
«time»: <unix timestamp>,
«to»: «account_name»,
«from»: «account_name»,
«encoding»: «ascii»,
«message»: «message»
}

[/code]

Сообщение в «чат»

Тоже самое, что и отправка обычному пользователю, только в поле to ставится решетка с названием чатрума

[code]

{
«action»: «msg»,
«time»: <unix timestamp>,
«to»: «#room_name»,
«from»: «account_name»,
«message»: «Hello World»
}

[/code]

 

Чтобы зайти в чат:

[code]

{
«action»: «join»,
«time»: <unix timestamp>,
«room»: «#room_name»
}

[/code]

 

Выйти из чата:

[code]

{
«action»: «leave»,
«time»: <unix timestamp>,
«room»: «#room_name»
}

[/code]

 

Метод Actions

Методы протокола «действия» в  JIM:

“action”: “presence” — присутствие. Сервисное сообщение для извещения сервера о присутствии клиента online;
“action”: “prоbe” — проверка присутствия. Сервисное сообщение от сервера для проверки присутствии клиента online;
“action”: “msg” — простое сообщение пользователю или в чат;
“action”: “quit” — отключение от сервера;
“action”: “authenticate” — авторизация на сервере;
“action”: “join” — присоединиться к чату;
“action”: “leave” — покинуть чат.

Предыдущий пост

Skrill в России: тарифы, верификация, комиссии, лимит

Следующий пост

Проверка авто по Автотеке: может ли она обмануть?

Похожие публикации

1С: возможности, применение и особенности платформы

1С: возможности, применение и особенности платформы

11.03.2026

Платформа 1С представляет собой универсальное решение для автоматизации бизнес-процессов предприятий различных масштабов. Она позволяет создавать и адаптировать приложения для учета,...

ChatGPT: архитектура, возможности и влияние на современное общество

ChatGPT: архитектура, возможности и влияние на современное общество

21.02.2026

В ноябре 2022 года компания OpenAI выпустила продукт, который кардинально изменил представление миллионов людей о взаимодействии с искусственным интеллектом —...

Внедрение ИИ в бизнес под ключ: цифровые решения от Secret Agents

Внедрение ИИ в бизнес под ключ: цифровые решения от Secret Agents

03.02.2026

Современный бизнес требует инновационных подходов для поддержания конкурентоспособности и роста. Компания Secret Agents специализируется на разработке цифровых продуктов и сервисов,...

Как выбрать ноутбук

Как выбрать ноутбук

07.12.2025

Выбор ноутбука сегодня — задача не из лёгких. Рынок предлагает десятки моделей, различных по мощности, назначению, размеру и стоимости. Покупатели...

SEO-продвижение сайта: основы и эффективные стратегии

SEO-продвижение сайта: основы и эффективные стратегии

02.12.2025

SEO (Search Engine Optimization) — это комплекс мер, направленных на повышение позиций веб-сайтов в поисковых системах. Основная цель SEO продвижения...

Загрузи больше

Новое на сайте

Аккумуляторные батареи для ИБП: обзор современных технологий

Аккумуляторные батареи для ИБП: обзор современных технологий
23.04.2026

Источники бесперебойного питания (ИБП) давно стали неотъемлемой частью современной инфраструктуры: от серверных и медицинского оборудования до домашних компьютеров и систем...

Читать далее

IT-аутстаффинг разработчиков — IT-аналитики в аренду

IT-аутстаффинг разработчиков — IT-аналитики в аренду
23.04.2026

В условиях кадрового голода и постоянного усложнения цифровых продуктов, компании все чаще обращаются к гибким моделям привлечения персонала. Одной из...

Читать далее
  • Популярное
  • Комментарии
  • Последнее
Умный дом Ростелекома: Безопасность и Управление

Умный дом Ростелекома: Безопасность и Управление

15.05.2019
Ноутбуки Asus не видят жесткий диск. Автоматический вход в BIOS при старте

Ноутбуки Asus не видят жесткий диск. Автоматический вход в BIOS при старте

12.01.2019
Телевидение Wink Ростелеком: Samsung LG, Sony, Phillips, Android TV

Телевидение Wink Ростелеком: Samsung LG, Sony, Phillips, Android TV

25.01.2019
Проверка авто по Автотеке: может ли она обмануть?

Проверка авто по Автотеке: может ли она обмануть?

24.05.2019
Ноутбуки Asus не видят жесткий диск. Автоматический вход в BIOS при старте

Ноутбуки Asus не видят жесткий диск. Автоматический вход в BIOS при старте

Телевидение Wink Ростелеком: Samsung LG, Sony, Phillips, Android TV

Телевидение Wink Ростелеком: Samsung LG, Sony, Phillips, Android TV

Искусственный интеллект в страховании Insur Ai

Искусственный интеллект в страховании Insur Ai

Digital Retail: Как изменят рынок новые цифровые технологии?

Digital Retail: Как изменят рынок новые цифровые технологии?

Аккумуляторные батареи для ИБП: обзор современных технологий

Аккумуляторные батареи для ИБП: обзор современных технологий

23.04.2026
IT-аутстаффинг разработчиков — IT-аналитики в аренду

IT-аутстаффинг разработчиков — IT-аналитики в аренду

23.04.2026
Как увеличить посещаемость сайта: стратегии работы с трафиком, тестирование рекламных каналов и выполнение KPI

Как увеличить посещаемость сайта: стратегии работы с трафиком, тестирование рекламных каналов и выполнение KPI

22.04.2026
Смартфон Redmi 5: доступный функционал и надежность в повседневной жизни

Смартфон Redmi 5: доступный функционал и надежность в повседневной жизни

20.04.2026

Digital 2 — Цифровая реальность — Всё о Digital технологиях, сервисах, программировании, разработках со всего мира

Выбор редактора
Железо и сборка

Откладывание яиц самкой волнистого попугая

17.05.2025
ТОП недели
Обслуживание корпоративных серверов как основа стабильной и безопасной работы бизнеса
Без рубрики

Обслуживание корпоративных серверов как основа стабильной и безопасной работы бизнеса

20.04.2026
ТОП месяца
Сэндвич-панели: универсальный строительный материал для быстровозводимых зданий
Железо и сборка

Сэндвич-панели: универсальный строительный материал для быстровозводимых зданий

03.04.2026

© Digital2.ru. Все права защищены.

Нет результатов
Просмотреть все результаты
  • Digital2.ru
  • FAQ
  • Home 2
  • Home 3
  • Карта сайта
  • Карта сайта
  • Обратная связь
  • Обратная связь

© 2023. Digital2.ru. Все права защищены.