|
102 / 75 / 38
Регистрация: 08.11.2017
Сообщений: 272
|
|||||||||||
TCP клиент asycnio27.04.2018, 13:46. Показов 1372. Ответов 3
Метки нет (Все метки)
Добрый день!
Пытаюсь реализовать TCP клиент на Python, есть некоторые вопросы. Есть протокол общения, первые 4 байта размер посылки, далее сама посылка. Так вот я хочу что бы у меня была функция которая читает данные из сокета и в зависимости какая команда пришла запускать функцию и записывать результат её выполнения в сокет. Первый вопрос как считывать данные из сокета и отсекать окончание сообщения, то есть обычно из сокета читают по кускам (пример, 1024, 2048) и когда программа считала 1024 байта, конец этой байтовой строки может быть в середине следующего сообщения или наоборот сообщение длинной 1300 байт и в один кусок он не помещается. Второй вопрос функция которая принимает данные из сокета и вызывает другие в зависимости от того что пришло должна быть асинхронной или же функции которые она вызывает должны быть асинхронными? Набросал пару вариантов, может бы есть у кого то примеры? в интернете есть примере простых эхо клиентов, но что бы с размерами посылок не встречал. Спасибо за помощь. Кликните здесь для просмотра всего текста
Кликните здесь для просмотра всего текста
0
|
|||||||||||
| 27.04.2018, 13:46 | |
|
Ответы с готовыми решениями:
3
TCP-сервер и TCP-клиент. Клиент не находит файл. Сцена зависает при запуске TCP-клиента, когда он подключен к TCP - серверу, при этом TCP-клиент полностью функционирует Если сервер TCP то и клиент тоже должен быть TCP? |
|
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
|
||
| 27.04.2018, 20:33 | ||
|
посмотрите client-server Protocol https://docs.python.org/3/libr... tocol.html
0
|
||
|
102 / 75 / 38
Регистрация: 08.11.2017
Сообщений: 272
|
||||||
| 28.04.2018, 16:01 [ТС] | ||||||
|
Немного подумал и переписал функцию data_recivied, так как сообщения приходят в формате json пытаюсь сделать json.loads, если всё ок, то чищу буфер. Подойдет ли такой подход?
Кликните здесь для просмотра всего текста
0
|
||||||
|
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
|
|
| 28.04.2018, 17:22 | |
|
так делайте и клиента и сервер на протоколе
https://docs.python.org/3/libr... t-protocol сообщения произвольной длины принимает
0
|
|
| 28.04.2018, 17:22 | |
|
Помогаю со студенческими работами здесь
4
Не приходит ответ на TCP клиент андроид с TCP сервера Qt как создать TCP клиент, TCP сервер ? На С++ Написать TCP-клиент и TCP-сервер. TCP-клиент Tcp клиент Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|