33# This file is distributed under the same license as the Python package.
44# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
55#
6+ # Translators:
7+ # Fei Yin <[email protected] >, 20188+ # Junkai Shao <[email protected] >, 20189+ # kily zhou <[email protected] >, 201810+ # Freesand Leo <[email protected] >, 201811+ # ww song <[email protected] >, 201812+ #
613#, fuzzy
714msgid ""
815msgstr ""
916"Project-Id-Version : Python 3.7\n "
1017"Report-Msgid-Bugs-To : \n "
1118"POT-Creation-Date : 2018-06-30 05:56+0900\n "
12- "PO-Revision-Date : YEAR-MO-DA HO:MI+ZONE \n "
19+ "PO-Revision-Date : 2017-02-16 17:46+0000 \n "
1320"
Last-Translator :
ww song <[email protected] >, 2018\n "
1421"Language-Team : Chinese (China) (https://www.transifex.com/python-doc/teams/5390/zh_CN/)\n "
1522"MIME-Version : 1.0\n "
@@ -222,7 +229,9 @@ msgid ""
222229"in a request, or perhaps a signon. But that's a design decision - it's not a"
223230" rule of sockets."
224231msgstr ""
225- "第一个需要注意的的,浏览器的「客户端」套接字和网络服务器的「客户端」套接字一样令信讨厌。也就是说,这是一次「点对点」的会话。换句话说,*做为一个设计师,你将不得不决定一次会话的规则*。一般来说,``连接``中的套接字通过发送一个请求,或者信号开始这次会话。但是这是设计决定的,并不是套接字的规则"
232+ "首先需要注意,浏览器的「客户端」套接字和网络服务器的「客户端」套接字是极为相似的。即这种会话是「点对点」的。或者也可以说 "
233+ "*你作为设计师需要自行决定会话的规则和礼节* 。通常情况下,``连接`` "
234+ "套接字通过发送一个请求或者信号来开始一次会话。但这属于设计决定,并不是套接字规则。"
226235
227236#: ../../howto/sockets.rst:143
228237msgid ""
@@ -287,9 +296,9 @@ msgid ""
287296"choice is entirely yours, (but some ways are righter than others)."
288297msgstr ""
289298"但是如果你打算在随后来的传输中复用套接字的话,你需要明白 *套接字里面是不存在 :abbr:`EOT (传输结束)`* 的。重复一下:套接字 "
290- "``send`` 或者 ``recv`` 完 0 字节后返回,连接会中断。如果连接没有被断开,你可能会永远处于等待 ``recv`` "
299+ "``send`` 或者 ``recv`` 完 0 字节后返回,连接会中断。如果连接没有被断开,你可能会永远处于等待 ``recv`` "
291300"的状态,因为(就目前来说)套接字 *不会* "
292- "告诉你不用再读取了。现在如果你细心一点,你可能会意识到套接字基本事实:*消息必须要么具有固定长度,要么可以界定,要么指定了长度(比较好的做法),要么以关闭连接为结束*。选择完全由你而定(这比让别人定更合理)"
301+ "告诉你不用再读取了。现在如果你细心一点,你可能会意识到套接字基本事实:*消息必须要么具有固定长度,要么可以界定,要么指定了长度(比较好的做法),要么以关闭连接为结束*。选择完全由你而定(这比让别人定更合理)。 "
293302
294303#: ../../howto/sockets.rst:180
295304msgid ""
@@ -331,8 +340,8 @@ msgid ""
331340"of a following message. You'll need to put that aside and hold onto it, "
332341"until it's needed."
333342msgstr ""
334- "一个需要意识到的复杂情况是:如果你的会话协议允许多个消息被发送回来(没有响应),调用 ``recv`` "
335- "传入任意大小的块儿 ,你可能会因为读到后续接收的消息而停止读取。你需要将它放在一边并保存,直到它需要为止。"
343+ "一个需要意识到的复杂情况是:如果你的会话协议允许多个消息被发送回来(没有响应),调用 ``recv`` "
344+ "传入任意大小的块 ,你可能会因为读到后续接收的消息而停止读取。你需要将它放在一边并保存,直到它需要为止。"
336345
337346#: ../../howto/sockets.rst:237
338347msgid ""
@@ -373,10 +382,10 @@ msgid ""
373382"network order is host order, these do nothing, but where the machine is "
374383"byte-reversed, these swap the bytes around appropriately."
375384msgstr ""
376- "能过套接字传送二进制数据是很正常的。主要的问题在于并不是所有的机器都用同样的二进制数据格式 。比如,摩托罗拉芯片用 1 做为两个十六进制字节 00 01 "
377- "来表示一个 16 位整型。然而英特尔和迪吉多,是字节反转的 - 1 是 01 00。套接字库要求转换 16 位和 32 位整数 - ``ntohl, "
378- "htonl, ntohs, htons`` 其中的 「n」表示 *network*,「h」表示 *host*,「s」表示 *short*,「l 」表示 "
379- "*long*。网络序列就是主机的序列的话它们什么都不做,但是如果机器是字节反转的,它们会适当地交换字节序 "
385+ "通过套接字传送二进制数据是可能的。主要问题在于并非所有机器都用同样的二进制数据格式 。比如 Motorola 芯片用两个十六进制字节 00 01 "
386+ "来表示一个 16 位整数值 1。而 Intel 和 DEC 则会做字节反转 —— 即用 01 00 来表示 1 。套接字库要求转换 16 位和 32 "
387+ "位整数 —— ``ntohl, htonl, ntohs, htons`` 其中的「n」表示 *network*,「h」表示 *host*,「s」表示 "
388+ "*short*,「l」表示 * long*。在网络序列就是主机序列时它们什么都不做,但是如果机器是字节反转的则会适当地交换字节序。 "
380389
381390#: ../../howto/sockets.rst:264
382391msgid ""
@@ -385,7 +394,9 @@ msgid ""
385394"surprising amount of the time, all those longs have the value 0, or maybe 1."
386395" The string \" 0\" would be two bytes, while binary is four. Of course, this "
387396"doesn't fit well with fixed-length messages. Decisions, decisions."
388- msgstr "在现代的 32 位机器中,ascii 形式的二进制数据通常小于二进制形式"
397+ msgstr ""
398+ "在现今的 32 位机器中,二进制数据的 ascii 表示往往比二进制表示要小。这是因为在非常多的时候所有 long 的值均为 0 或者 1。字符串形式的"
399+ " \" 0\" 为两个字节,而二进制形式则为四个。当然这不适用于固定长度的信息。自行决定,请自行决定。"
389400
390401#: ../../howto/sockets.rst:272
391402msgid "Disconnecting"
0 commit comments