@@ -238,6 +238,8 @@ msgid ""
238238"all the data it has requested. Here a threading or forking server is "
239239"appropriate."
240240msgstr ""
241+ "另一方面,如果你是在编写一个所有数据保存在外部(例如文件系统)的 HTTP 服务器,同步类实际上将在正在处理某个请求的时候“失聪” -- "
242+ "如果某个客户端在接收它所请求的所有数据时很缓慢这可能会是非常长的时间。 这时线程或分叉服务器会更为适用。"
241243
242244#: ../../library/socketserver.rst:167
243245msgid ""
@@ -247,6 +249,8 @@ msgid ""
247249"doing an explicit fork in the request handler class "
248250":meth:`~BaseRequestHandler.handle` method."
249251msgstr ""
252+ "在某些情况下,合适的做法是同步地处理请求的一部分,但根据请求数据在分叉的子进程中完成处理。 这可以通过使用一个同步服务器并在请求处理句柄类 "
253+ ":meth:`~BaseRequestHandler.handle` 中进行显式分叉来实现。"
250254
251255#: ../../library/socketserver.rst:172
252256msgid ""
@@ -260,6 +264,11 @@ msgid ""
260264"subprocesses cannot be used). See :mod:`asyncore` for another way to manage"
261265" this."
262266msgstr ""
267+ "还有一种可以在既不支持线程也不支持 :func:`~os.fork` "
268+ "的环境(或者对于本服务来说这两者开销过大或是不适用)中处理多个同时请求的方式是维护一个显式的部分完成的请求表并使用 :mod:`selectors` "
269+ "来决定接下来要处理哪个请求(或者是否要处理一个新传入的请求)。 "
270+ "这对于流服务来说特别重要,因为每个客户端可能会连接很长的时间(如果不能使用线程或子进程)。 请参阅 :mod:`asyncore` "
271+ "来了解另一种管理方式。"
263272
264273#: ../../library/socketserver.rst:186
265274msgid "Server Objects"
@@ -272,6 +281,8 @@ msgid ""
272281" done in subclasses. The two parameters are stored in the respective "
273282":attr:`server_address` and :attr:`RequestHandlerClass` attributes."
274283msgstr ""
284+ "这是本模块中所有 Server 对象的超类。 它定义了下文给出的接口,但没有实现大部分的方法,它们应在子类中实现。 两个形参存储在对应的 "
285+ ":attr:`server_address` 和 :attr:`RequestHandlerClass` 属性中。"
275286
276287#: ../../library/socketserver.rst:198
277288msgid ""
0 commit comments