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

Python select.error при вызове socket.close()

05.07.2019, 21:29. Показов 1142. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Помогите разобратся. Изучаю python на практике, пишу небольшой tcp сервер. Так вот в основном цикле у меня в while крутится select который возвращает какой сокет можно читать или писать. Когда принимаю сообщения запоминаю текущее время чтобы в дополнительном потоке обрабатывать логику управление всеми соеденениями, закрывать там которые слишком долго молчат и еще несколько функций. Так вот, когда я из потока вызываю функцию, которая закрывает соеденение sock.close(), удаляю из списка соеденений нужное, иногда!! получаю ошибку python select.error (9 'bad file descriptor') в строке с select.select(). Я так понимаю что в этот момент соеденение было занято в select(). Помогите решить в которую сторону копать, все примеры с threading используют 2 и болие, а у меня один созданый.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.07.2019, 21:29
Ответы с готовыми решениями:

Windows socket server python + socket client js
Здравствуйте пытаюсь решить такую задачу, на веб странице реализовал soket клиент на js, и socket server, сокет сервер получает данные от...

Python при вызове модуля перекидывает на консоль
Не понимаю вроде, все по инструкции , но вместо того что-бы выполнить модуль код перекидывает меня в консоль , а print не...

Python вылетает при вызове import cv2
...и некоторых других библиотек. Может дело в версии? Python 3.8, а opencv 4.7

1
153 / 148 / 66
Регистрация: 20.02.2014
Сообщений: 556
10.07.2019, 02:49
Krik99, ну было бы неплохо, если бы код показал для начала, а так, скорее всего, после того, как передал сокет в другой поток, то перед новым вызовом select() нужно удалить этот сокет из списка.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.07.2019, 02:49
Помогаю со студенческими работами здесь

Close socket почему select не реагирует? Или не должен?
Здравствуйте Не могу никак разобраться как происходит закрытие сокета. Linux. У меня есть сервер работает на select-е. И есть...

Вызов BeginAccept() при вызове Close()
Всем привет. Подскажите, ребята: почему при вызове метода Close() сокет вызывает метод BeginAccept()? Я считаю, что это нужно для вызова...

Ошибка при вызове Socket.Connect()
Когда отправляю сообщение на свой IP, всё работает. Пытаюсь на чужой -- вылетает "Сделана попытка выполнить операцию на сокете при...

Завершение приложения при вызове метода Socket.EndRecieve
есть один код (с): public sealed class Client : Connectivity { public void Connect(string remoteHost) { ...

Ошибка: Socket Error #11001 или socket error #10051
Делаю простую проверку подключен к нету комп или нет procedure TForm1.Button1Click(Sender: TObject); var Connected: Boolean; ...


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

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

Новые блоги и статьи
Реализация многопоточных сетевых серверов на Python
py-thonny 16.05.2025
Когда сталкиваешься с необходимостью писать высоконагруженные сетевые сервисы, выбор технологии имеет критическое значение. Python, со своей элегантностью и высоким уровнем абстракции, может. . .
C# и IoT: разработка Edge приложений с .NET и Azure IoT
UnmanagedCoder 16.05.2025
Мир меняется прямо на наших глазах, и интернет вещей (IoT) — один из главных катализаторов этих перемен. Если всего десять лет назад концепция "умных" устройств вызывала скептические улыбки, то. . .
Гибридные квантово-классические вычисления: Примеры оптимизации
EggHead 16.05.2025
Гибридные квантово-классические вычисления — это настоящий прорыв в подходах к решению сложнейших вычислительных задач. Представьте себе союз двух разных миров: классические компьютеры, с их. . .
Использование вебсокетов в приложениях Java с Netty
Javaican 16.05.2025
HTTP, краеугольный камень интернета, изначально был спроектирован для передачи гипертекста с минимальной интерактивностью. Его главный недостаток в контексте современных приложений — это. . .
Реализация операторов Kubernetes
Mr. Docker 16.05.2025
Концепция операторов Kubernetes зародилась в недрах компании CoreOS (позже купленной Red Hat), когда команда инженеров искала способ автоматизировать управление распределёнными базами данных в. . .
Отражение в C# и динамическое управление типами
stackOverflow 16.05.2025
Reflection API в . NET — это набор классов и интерфейсов в пространстве имён System. Reflection, который позволяет исследовать и манипулировать типами, методами, свойствами и другими элементами. . .
Настройка гиперпараметров с помощью Grid Search и Random Search в Python
AI_Generated 15.05.2025
В машинном обучении существует фундаментальное разделение между параметрами и гиперпараметрами моделей. Если параметры – это те величины, которые алгоритм "изучает" непосредственно из данных (веса. . .
Сериализация и десериализация данных на Python
py-thonny 15.05.2025
Сериализация — это своего рода "замораживание" объектов. Вы берёте живой, динамический объект из памяти и превращаете его в статичную строку или поток байтов. А десериализация выполняет обратный. . .
Чем асинхронная логика (схемотехника) лучше тактируемой, как я думаю, что помимо энергоэффективности - ещё и безопасность.
Hrethgir 14.05.2025
Помимо огромного плюса в энергоэффективности, асинхронная логика - тотальный контроль над каждым совершённым тактом, а значит - безусловная безопасность, где безконтрольно не совершится ни одного. . .
Многопоточные приложения на C++
bytestream 14.05.2025
C++ всегда был языком, тесно работающим с железом, и потому особеннно эффективным для многопоточного программирования. Стандарт C++11 произвёл революцию, добавив в язык нативную поддержку потоков,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru