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