0 / 0 / 0
Регистрация: 03.01.2019
Сообщений: 5

Как заставить метод recv() ждать запрос

24.11.2021, 10:36. Показов 1139. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здарова всем. Пытаюсь написать мультипоточный сервер на питоне, для каждого подключенного юзера будет в потоке вызыватся вот такой метод:
Python
1
2
3
4
5
6
7
8
def handle_new_clients(self, new_client_socket, address):
        while True:
 
            data = new_client_socket.recv(1024)
 
            if data.decode().split(',')[0] == 'login':
                response = self.request_handler.login_user(data.decode())
                new_client_socket.sendall(response.encode())
и в моем мире каждый раз когда recv() ждала бы запроса от юзера то программа переключалась бы на другие потоки, но проблема в том что она ждет только первый запрос а после думает что ей вечно шлют пустое сообщение. Как решить проблему? В c++ надо было очистить буфер, здесь не очень понятно. пытался очистить переменную data, но не помогло.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.11.2021, 10:36
Ответы с готовыми решениями:

Как заставить потоки ждать конца main
Ситуация такова, что я вызываю функцию в несколько потоков с помощью библиотеки Threading, в ней создаю объекты WebDriver из Selenium и...

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

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

2
Модератор
Эксперт Python
 Аватар для Fudthhh
2696 / 1602 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
25.11.2021, 08:13
Beni123321, не вижу тут даже намека, на "мультипоточный сервер".

P.S. Все уже создано, бери да пользуйся.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
25.11.2021, 15:16
Цитата Сообщение от Beni123321 Посмотреть сообщение
в моем мире каждый
Читает это: https://docs.python.org/3/howto/sockets.html

А вообще - сокеты это низкоуровневый интерфейс и его нужно хорошо понимать, чтобы им пользоваться.
В Python реализовано множество высокоуровневых серверов. Просто пользуйся ими.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.11.2021, 15:16
Помогаю со студенческими работами здесь

Семафоры (как заставить клиента ждать?)
1 программа (сервер): создаем разделяемую память и записываем 12345.6789 2 программа (клиент): подключается к разделяемой памяти, выводит...

Как заставить браузер не ждать ответа?
Суть такова... Принимаю POST, а теперь браузер надо послать на три веселые буквы и выполнять дальше код! В данный момент у меня принимается...

Как заставить прогу на с++ ждать новые записи из БД
Нужно чтобы прога на с++ ждала новых записей в БД и если они поступят производила с ними кое какие действия Вопрос в том как именно...

Как заставить программу не ждать завершения команды
У меня такая проблема: надо, чтобы MessageBox открывался, и через секунду закрывался. Если просто написать MessageBox(), то программа...

Как заставить скрипт ждать определённое время?
Я делаю игру в unity и мне нужно реализовать субтитры для диалога персонажа. Я новичок в unity и скрипт нашёл в интернете. Мне нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель ЗдрввоСохранения 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 существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru