Суббота, 11 апреля, 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

    Digital-тренды 2026: обзор эффективных стратегий продвижения бизнеса в интернете через контекстную рекламу и таргетинг

    Digital-тренды 2026: обзор эффективных стратегий продвижения бизнеса в интернете через контекстную рекламу и таргетинг

    Картинка-заглушка: зачем она нужна и как правильно использовать

    Картинка-заглушка: зачем она нужна и как правильно использовать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Отказное письмо при регистрации товаров на маркетплейсе

    Отказное письмо при регистрации товаров на маркетплейсе

    Путь к эффективности: как строятся оптимальные маршруты в логистике

    Путь к эффективности: как строятся оптимальные маршруты в логистике

  • Статьи
    • Все
    • Бизнес
    • Гаджеты
    • Сервисы
    • Технологии
    • Цифровая экономика
    Техника Apple: от iPhone до Mac — полный гид по экосистеме

    Техника Apple: от iPhone до Mac — полный гид по экосистеме

    Skoda в России: полный гид по ценам и комплектациям на 2026 год

    Skoda в России: полный гид по ценам и комплектациям на 2026 год

    UPS в стойку: надёжность и компактность для серверных и ЦОД

    UPS в стойку: надёжность и компактность для серверных и ЦОД

    Печать на футболках: искусство создавать уникальный стиль

    Печать на футболках: искусство создавать уникальный стиль

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

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

    ИТ-аутсорсинг: преимущества, риски и тенденции современного рынка

    ИТ-аутсорсинг: преимущества, риски и тенденции современного рынка

    Аренда поля для мини-футбола: практическое руководство для организации игры

    Аренда поля для мини-футбола: практическое руководство для организации игры

    Преимущества покупки Apple iPhone: комплексный анализ для осознанного выбора

    Преимущества покупки Apple iPhone: комплексный анализ для осознанного выбора

    Регистрация и защита интеллектуальной собственности

    Регистрация и защита интеллектуальной собственности

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

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

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

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

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

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

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

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

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

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

    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

    Digital-тренды 2026: обзор эффективных стратегий продвижения бизнеса в интернете через контекстную рекламу и таргетинг

    Digital-тренды 2026: обзор эффективных стратегий продвижения бизнеса в интернете через контекстную рекламу и таргетинг

    Картинка-заглушка: зачем она нужна и как правильно использовать

    Картинка-заглушка: зачем она нужна и как правильно использовать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Отказное письмо при регистрации товаров на маркетплейсе

    Отказное письмо при регистрации товаров на маркетплейсе

    Путь к эффективности: как строятся оптимальные маршруты в логистике

    Путь к эффективности: как строятся оптимальные маршруты в логистике

  • Статьи
    • Все
    • Бизнес
    • Гаджеты
    • Сервисы
    • Технологии
    • Цифровая экономика
    Техника Apple: от iPhone до Mac — полный гид по экосистеме

    Техника Apple: от iPhone до Mac — полный гид по экосистеме

    Skoda в России: полный гид по ценам и комплектациям на 2026 год

    Skoda в России: полный гид по ценам и комплектациям на 2026 год

    UPS в стойку: надёжность и компактность для серверных и ЦОД

    UPS в стойку: надёжность и компактность для серверных и ЦОД

    Печать на футболках: искусство создавать уникальный стиль

    Печать на футболках: искусство создавать уникальный стиль

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

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

    ИТ-аутсорсинг: преимущества, риски и тенденции современного рынка

    ИТ-аутсорсинг: преимущества, риски и тенденции современного рынка

    Аренда поля для мини-футбола: практическое руководство для организации игры

    Аренда поля для мини-футбола: практическое руководство для организации игры

    Преимущества покупки Apple iPhone: комплексный анализ для осознанного выбора

    Преимущества покупки Apple iPhone: комплексный анализ для осознанного выбора

    Регистрация и защита интеллектуальной собственности

    Регистрация и защита интеллектуальной собственности

Нет результатов
Просмотреть все результаты
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 продвижения...

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

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

Самые востребованные направления для работы в 2026 году

Самые востребованные направления для работы в 2026 году
10.04.2026

Как онлайн-курсы помогают найти работу в 2026 году: где самые большие зарплаты? Современный рынок труда быстро меняется, и многие профессии...

Читать далее

Цифровой спорт: как League of Legends и World of Tanks собирают миллионы зрителей

Цифровой спорт: как League of Legends и World of Tanks собирают миллионы зрителей
10.04.2026

Вы когда-нибудь задумывались, почему какой-то парень из Кореи, который тыкает в мышку, собирает стадион на 40 тысяч человек, а ваш...

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

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

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: Как изменят рынок новые цифровые технологии?

Самые востребованные направления для работы в 2026 году

Самые востребованные направления для работы в 2026 году

10.04.2026
Цифровой спорт: как League of Legends и World of Tanks собирают миллионы зрителей

Цифровой спорт: как League of Legends и World of Tanks собирают миллионы зрителей

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

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

10.04.2026
Техника Apple: от iPhone до Mac — полный гид по экосистеме

Техника Apple: от iPhone до Mac — полный гид по экосистеме

10.04.2026

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

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

Татуировка ловец снов на руке — значение для девушек

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

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

10.04.2026
ТОП месяца
Обзор Apple iPhone 16: новые горизонты мобильных технологий
Устранение проблем

Обзор Apple iPhone 16: новые горизонты мобильных технологий

25.03.2026

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

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

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