спасибо за интересные ответы. В свете полученных ответов я немного изменил свой вопрос.
угадайте, что мне действительно нужно знать, это сервер сокетов, а не прямая библиотека сокетов, предназначенная для обработки как периодов задержки, так и нагрузки, то есть имеет ли он дополнительные механизмы или функции, которые оправдывают его неявно объявленный статус в качестве «сервера» или его просто немного проще использовать?
Кажется, все рекомендуют socketserver, но мне до сих пор не совсем понятно, почему, в отличие от socket.
спасибо !!!
Я создал несколько серверных программ на python на основе стандартного сокета библиотека http://docs.python.org/library/socket.html
Я заметил, что они вроде работают просто отлично, за исключением того, что без нагрузки они имеют тенденцию ложиться спать спустя некоторое время. Я думаю, это не может быть проблемой в производстве (без сомнения будет много других вопросов) но я хотел бы знать, используя правильный код для работы здесь.
Осмотревшись, я увидел, что этот питон тоже предоставляет библиотеку сокетов - http://docs.python.org/library/socketserver.html
Библиотека сокета предоставляет способность слушать несколько соединений, обычно до 5.
Согласно странице socketserver , его услуги синхронны, т.е. блокировка, но можно поддерживать асинхронное поведение через многопоточность. Я заметил, что у него есть способность поддерживать очередь запросов с значение по умолчанию до 5 запросов ... так что может быть, нет большой разницы.
Я также читал, что Twisted работает socketserver под капотом. Хотя я предпочел бы не попасть в зверя размер Twisted, если он не собирается
, поэтому мой вопрос, - это сервер сокетов. более надежен, чем сокет? Если да, то почему?
(А откуда вы знаете?)
Кстати, сервер сокетов построен на вершина сокета питона или это полностью отдельный?
наконец, в качестве бонуса, если кто знает что можно сделать не так, что стандартные розетки "засыпайте" пожалуйста не стесняйтесь присоединяться к этому тоже.
О, и я говорю скорее о python 2.x чем 3.x здесь, если это делает разница.
спасибо, ребята!
jsh
Что ж, у меня нет технического ответа, но я реализовал SocketServer по рекомендациям людей, и он определенно более надежен. Если кто-нибудь когда-нибудь предложит объяснение на низком уровне, дайте мне знать ... спасибо!