From 8135b73d06b8cbcd4b400350ec495a35af742a81 Mon Sep 17 00:00:00 2001 From: weijay Date: Wed, 12 Jul 2023 16:55:30 +0800 Subject: [PATCH 1/3] =?UTF-8?q?docs(howto/sockets.po):=20=E7=BF=BB?= =?UTF-8?q?=E8=AD=AF=20sockets.rst:5=20=E5=88=B0=20sockets.rst:106=20?= =?UTF-8?q?=E5=8D=80=E5=A1=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gh-466 --- howto/sockets.po | 67 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 62 insertions(+), 5 deletions(-) diff --git a/howto/sockets.po b/howto/sockets.po index 16681602c9..3547cb4e86 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-06-10 00:16+0000\n" -"PO-Revision-Date: 2018-05-23 14:37+0000\n" -"Last-Translator: Adrian Liaw \n" +"PO-Revision-Date: 2023-07-12 02:22+0800\n" +"Last-Translator: Jay \n" "Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-" "tw)\n" "Language: zh_TW\n" @@ -17,10 +17,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 3.3.2\n" #: ../../howto/sockets.rst:5 msgid "Socket Programming HOWTO" -msgstr "" +msgstr "Socket 程式設計指南" #: ../../howto/sockets.rst:0 msgid "Author" @@ -43,6 +44,10 @@ msgid "" "a lot of them), but I hope it will give you enough background to begin using " "them decently." msgstr "" +"Sockets 在各處都被廣泛使用,但卻是一項被誤解最嚴重的技術之一。這是一篇對 " +"sockets 的簡單介紹。這並不是一個完整的教學指南 - 你還需要做許多準備才能讓 " +"sockets 正常運作。這篇文章也沒有包含細節 (其中有非常多的細節),但我希望這篇" +"文章能夠讓你有足夠的背景知識,以便開始正確的使用 sockets 程式設計。" #: ../../howto/sockets.rst:20 msgid "Sockets" @@ -59,6 +64,13 @@ msgid "" "blocking sockets. But I'll start by talking about blocking sockets. You'll " "need to know how they work before dealing with non-blocking sockets." msgstr "" +"我只會討論關於 INET (例如:IPv4) 的 sockets,但它們涵蓋了幾乎 99% 的 " +"sockets 使用場景。而我也將僅討論關於 STREAM (比如:TCP) 類型的 sockets - 除" +"非你真的知道你在做什麼 (在這種情況下,這份指南可能不適合你),使用 STREAM " +"類型的 socket 會獲得比其他 sockets 類型更好的表現和性能。我將會嘗試解釋 " +"socket 是什麼,以及如何使用阻塞 (blocking) 和非阻塞 (non-blocking) sockets 的" +"一些建議。但首先我會先談論阻塞 sockets。在處理非阻塞 sockets 之前,你需要了解" +"它們的工作原理。" #: ../../howto/sockets.rst:31 msgid "" @@ -70,10 +82,16 @@ msgid "" "sockets exclusively; the web server it's talking to uses both \"server\" " "sockets and \"client\" sockets." msgstr "" +"要理解這些東西的困難點之一在於 \"scoket\" 可以表示很多些微差異的東西,這主要" +"取決於上下文。所以首先,讓我們先區分 \"客戶端\" (client) socket 和 \"服務端" +"\" (server) socket 的差別,\"客戶端\" socket 表示通信的一端,\"服務端\" " +"socket 更像是一個電話總機接線員。客戶端應用程式 (例如:你的瀏覽器) 只能使" +"用 \"客戶端\" socket; 它所連接的網路服務器則同時使用 \"服務端\" socket 和 " +"\"客戶端\" socket 來進行通信。" #: ../../howto/sockets.rst:40 msgid "History" -msgstr "" +msgstr "歷史" #: ../../howto/sockets.rst:42 msgid "" @@ -82,6 +100,9 @@ msgid "" "other forms of IPC that are faster, but for cross-platform communication, " "sockets are about the only game in town." msgstr "" +"在各種形式的 :abbr:`IPC (Inter Process Communication)` 中, sockets 是最受歡迎" +"的。在任何特定的平台上,可能會存在其他更快速的 IPC 形式,但對於跨平台通訊來" +"說, sockets 是唯一的選擇。" #: ../../howto/sockets.rst:47 msgid "" @@ -90,16 +111,22 @@ msgid "" "of sockets with INET makes talking to arbitrary machines around the world " "unbelievably easy (at least compared to other schemes)." msgstr "" +"Sockets 作為 Unix 的 BSD 分支的一部分在 Berkeley 被發明出來。隨著網際網路的普" +"及,它們迅速蔓延開來。這是有很好的理由 — sockets 和 INET 的結合讓世界各地任何" +"的機器之間的通訊變得非常簡單 (至少與其它方案相比是如此)。" #: ../../howto/sockets.rst:54 msgid "Creating a Socket" -msgstr "" +msgstr "建立一個 Socket" #: ../../howto/sockets.rst:56 msgid "" "Roughly speaking, when you clicked on the link that brought you to this " "page, your browser did something like the following::" msgstr "" +"大致上來說,當你點擊了帶你來到這個頁面的連結時,你的瀏覽器做了以下的操作:\n" +"\n" +"::" #: ../../howto/sockets.rst:64 msgid "" @@ -108,12 +135,19 @@ msgid "" "then be destroyed. That's right, destroyed. Client sockets are normally only " "used for one exchange (or a small set of sequential exchanges)." msgstr "" +"當 ``connect`` 完成時,這個 socket ``s`` 可以用來發送請求來取得頁面的文本。同" +"一個 socket 也會讀取回傳值,然後再被銷毀。是的,被銷毀。客戶端 socket 通常只" +"用來做一次交換 (或是一小組序列的交換)。" #: ../../howto/sockets.rst:70 msgid "" "What happens in the web server is a bit more complex. First, the web server " "creates a \"server socket\"::" msgstr "" +"在網路服務器 (web server) 的運作就稍微複雜一點。首先,網路服務器會建立一個 \"服務端 " +"socket\":\n" +"\n" +"::" #: ../../howto/sockets.rst:80 msgid "" @@ -124,6 +158,10 @@ msgid "" "machine. ``s.bind(('', 80))`` specifies that the socket is reachable by any " "address the machine happens to have." msgstr "" +"有幾件事需要注意:我們使用了 ``socket.gethostname()`` ,這樣 socket 才能對外" +"部網路可見。如果我們使用了 ``s.bind(('localhost', 80))`` 或 ``s." +"bind(('127.0.0.1', 80))`` ,我們會得到一個 \"服務端\" socket,但是只能在同一" +"台機器內可見。 ``s.bind(('', 80))`` 指定 socket 可以通過機器的任何地址存取。" #: ../../howto/sockets.rst:87 msgid "" @@ -131,6 +169,8 @@ msgid "" "known\" services (HTTP, SNMP etc). If you're playing around, use a nice high " "number (4 digits)." msgstr "" +"第二個要注意的是:低數字的端口 (port) 通常保留給 \"常用的\" 服務 (HTTP、SNMP" +"等)。如果你只是想執行程式,可以使用一個較高的端口 (4位數字)。" #: ../../howto/sockets.rst:91 msgid "" @@ -139,12 +179,19 @@ msgid "" "outside connections. If the rest of the code is written properly, that " "should be plenty." msgstr "" +"最後,``listen`` 引數告訴 socket 函示庫 (library) ,我們希望在佇列 (queue) 中" +"累積多達 5 個 (正常的最大值) 連接請求後再拒絕外部連接。如果其餘的程式碼編寫" +"正確,這應該足夠了。" #: ../../howto/sockets.rst:95 msgid "" "Now that we have a \"server\" socket, listening on port 80, we can enter the " "mainloop of the web server::" msgstr "" +"現在我們有一個監聽 80 端口的”服務端” socket 了,我們可以進入網路服務器的" +"主迴圈了:\n" +"\n" +"::" #: ../../howto/sockets.rst:106 msgid "" @@ -161,6 +208,16 @@ msgid "" "The two \"clients\" are free to chat it up - they are using some dynamically " "allocated port which will be recycled when the conversation ends." msgstr "" +"事實上,有三種方法可以讓這個迴圈運作 - 分配一個執行序 (thread) 來處理 " +"``clientsocket`` 、建立一個新程序 (process) 來處理 ``clientsocket`` ,或者將" +"這個程式重新改寫成使用非阻塞 socket ,並使用 ``select`` 在我們的\"服務端\" " +"socket 和任何有效的 ``clientsocket`` 之間進行多工處理。稍後將會更詳細的介紹。" +"現在最重要的是理解:這就是\"服務端\" socket 做的\\ *所有* \\事情。它不會發送任何" +"資料。 也不接收任何資料。它只會建立\"服務端\" socket 。每個 ``clientsocket`` " +"都是為了回應某些\\ *其他* \\ ``connect()`` 到我們綁定的主機上的\"客戶端\" socket。" +"一但 ``clientsocket`` 建立完成,就會繼續監聽更多的連接請求。兩個\"客戶端\"可" +"以隨意的通訊 - 它們使用的是一些動態分配的端口,會在對話結束的時候被回收並重新" +"利用。" #: ../../howto/sockets.rst:121 msgid "IPC" From 36c25a08bf1fe3dace3a3013540d15a899c77bf9 Mon Sep 17 00:00:00 2001 From: weijay Date: Wed, 12 Jul 2023 22:21:03 +0800 Subject: [PATCH 2/3] =?UTF-8?q?docs(howto/sockets.po):=20=E5=8E=BB?= =?UTF-8?q?=E9=99=A4=E4=B8=8D=E5=BF=85=E8=A6=81=E7=9A=84=E7=A9=BA=E7=99=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gh-466 --- howto/sockets.po | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/howto/sockets.po b/howto/sockets.po index 3547cb4e86..5e48c96a46 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -46,7 +46,7 @@ msgid "" msgstr "" "Sockets 在各處都被廣泛使用,但卻是一項被誤解最嚴重的技術之一。這是一篇對 " "sockets 的簡單介紹。這並不是一個完整的教學指南 - 你還需要做許多準備才能讓 " -"sockets 正常運作。這篇文章也沒有包含細節 (其中有非常多的細節),但我希望這篇" +"sockets 正常運作。這篇文章也沒有包含細節(其中有非常多的細節),但我希望這篇" "文章能夠讓你有足夠的背景知識,以便開始正確的使用 sockets 程式設計。" #: ../../howto/sockets.rst:20 @@ -64,9 +64,9 @@ msgid "" "blocking sockets. But I'll start by talking about blocking sockets. You'll " "need to know how they work before dealing with non-blocking sockets." msgstr "" -"我只會討論關於 INET (例如:IPv4) 的 sockets,但它們涵蓋了幾乎 99% 的 " -"sockets 使用場景。而我也將僅討論關於 STREAM (比如:TCP) 類型的 sockets - 除" -"非你真的知道你在做什麼 (在這種情況下,這份指南可能不適合你),使用 STREAM " +"我只會討論關於 INET(例如:IPv4)的 sockets,但它們涵蓋了幾乎 99% 的 " +"sockets 使用場景。而我也將僅討論關於 STREAM(比如:TCP)類型的 sockets - 除" +"非你真的知道你在做什麼(在這種情況下,這份指南可能不適合你),使用 STREAM " "類型的 socket 會獲得比其他 sockets 類型更好的表現和性能。我將會嘗試解釋 " "socket 是什麼,以及如何使用阻塞 (blocking) 和非阻塞 (non-blocking) sockets 的" "一些建議。但首先我會先談論阻塞 sockets。在處理非阻塞 sockets 之前,你需要了解" @@ -85,7 +85,7 @@ msgstr "" "要理解這些東西的困難點之一在於 \"scoket\" 可以表示很多些微差異的東西,這主要" "取決於上下文。所以首先,讓我們先區分 \"客戶端\" (client) socket 和 \"服務端" "\" (server) socket 的差別,\"客戶端\" socket 表示通信的一端,\"服務端\" " -"socket 更像是一個電話總機接線員。客戶端應用程式 (例如:你的瀏覽器) 只能使" +"socket 更像是一個電話總機接線員。客戶端應用程式(例如:你的瀏覽器)只能使" "用 \"客戶端\" socket; 它所連接的網路服務器則同時使用 \"服務端\" socket 和 " "\"客戶端\" socket 來進行通信。" @@ -100,9 +100,9 @@ msgid "" "other forms of IPC that are faster, but for cross-platform communication, " "sockets are about the only game in town." msgstr "" -"在各種形式的 :abbr:`IPC (Inter Process Communication)` 中, sockets 是最受歡迎" +"在各種形式的 :abbr:`IPC (Inter Process Communication)` 中,sockets 是最受歡迎" "的。在任何特定的平台上,可能會存在其他更快速的 IPC 形式,但對於跨平台通訊來" -"說, sockets 是唯一的選擇。" +"說,sockets 是唯一的選擇。" #: ../../howto/sockets.rst:47 msgid "" @@ -113,7 +113,7 @@ msgid "" msgstr "" "Sockets 作為 Unix 的 BSD 分支的一部分在 Berkeley 被發明出來。隨著網際網路的普" "及,它們迅速蔓延開來。這是有很好的理由 — sockets 和 INET 的結合讓世界各地任何" -"的機器之間的通訊變得非常簡單 (至少與其它方案相比是如此)。" +"的機器之間的通訊變得非常簡單(至少與其它方案相比是如此)。" #: ../../howto/sockets.rst:54 msgid "Creating a Socket" @@ -137,7 +137,7 @@ msgid "" msgstr "" "當 ``connect`` 完成時,這個 socket ``s`` 可以用來發送請求來取得頁面的文本。同" "一個 socket 也會讀取回傳值,然後再被銷毀。是的,被銷毀。客戶端 socket 通常只" -"用來做一次交換 (或是一小組序列的交換)。" +"用來做一次交換(或是一小組序列的交換)。" #: ../../howto/sockets.rst:70 msgid "" @@ -158,10 +158,10 @@ msgid "" "machine. ``s.bind(('', 80))`` specifies that the socket is reachable by any " "address the machine happens to have." msgstr "" -"有幾件事需要注意:我們使用了 ``socket.gethostname()`` ,這樣 socket 才能對外" +"有幾件事需要注意:我們使用了 ``socket.gethostname()``,這樣 socket 才能對外" "部網路可見。如果我們使用了 ``s.bind(('localhost', 80))`` 或 ``s." -"bind(('127.0.0.1', 80))`` ,我們會得到一個 \"服務端\" socket,但是只能在同一" -"台機器內可見。 ``s.bind(('', 80))`` 指定 socket 可以通過機器的任何地址存取。" +"bind(('127.0.0.1', 80))``,我們會得到一個 \"服務端\" socket,但是只能在同一" +"台機器內可見。``s.bind(('', 80))`` 指定 socket 可以通過機器的任何地址存取。" #: ../../howto/sockets.rst:87 msgid "" @@ -169,8 +169,8 @@ msgid "" "known\" services (HTTP, SNMP etc). If you're playing around, use a nice high " "number (4 digits)." msgstr "" -"第二個要注意的是:低數字的端口 (port) 通常保留給 \"常用的\" 服務 (HTTP、SNMP" -"等)。如果你只是想執行程式,可以使用一個較高的端口 (4位數字)。" +"第二個要注意的是:低數字的端口 (port) 通常保留給 \"常用的\" 服務(HTTP、SNMP" +"等)。如果你只是想執行程式,可以使用一個較高的端口(4位數字)。" #: ../../howto/sockets.rst:91 msgid "" @@ -180,7 +180,7 @@ msgid "" "should be plenty." msgstr "" "最後,``listen`` 引數告訴 socket 函示庫 (library) ,我們希望在佇列 (queue) 中" -"累積多達 5 個 (正常的最大值) 連接請求後再拒絕外部連接。如果其餘的程式碼編寫" +"累積多達 5 個(正常的最大值)連接請求後再拒絕外部連接。如果其餘的程式碼編寫" "正確,這應該足夠了。" #: ../../howto/sockets.rst:95 @@ -209,11 +209,11 @@ msgid "" "allocated port which will be recycled when the conversation ends." msgstr "" "事實上,有三種方法可以讓這個迴圈運作 - 分配一個執行序 (thread) 來處理 " -"``clientsocket`` 、建立一個新程序 (process) 來處理 ``clientsocket`` ,或者將" -"這個程式重新改寫成使用非阻塞 socket ,並使用 ``select`` 在我們的\"服務端\" " +"``clientsocket`` 、建立一個新程序 (process) 來處理 ``clientsocket``,或者將" +"這個程式重新改寫成使用非阻塞 socket,並使用 ``select`` 在我們的\"服務端\" " "socket 和任何有效的 ``clientsocket`` 之間進行多工處理。稍後將會更詳細的介紹。" "現在最重要的是理解:這就是\"服務端\" socket 做的\\ *所有* \\事情。它不會發送任何" -"資料。 也不接收任何資料。它只會建立\"服務端\" socket 。每個 ``clientsocket`` " +"資料。也不接收任何資料。它只會建立\"服務端\" socket。每個 ``clientsocket`` " "都是為了回應某些\\ *其他* \\ ``connect()`` 到我們綁定的主機上的\"客戶端\" socket。" "一但 ``clientsocket`` 建立完成,就會繼續監聽更多的連接請求。兩個\"客戶端\"可" "以隨意的通訊 - 它們使用的是一些動態分配的端口,會在對話結束的時候被回收並重新" From 3ba1f09d660345232514f324f2111af53fa8c369 Mon Sep 17 00:00:00 2001 From: weijay Date: Thu, 13 Jul 2023 00:07:20 +0800 Subject: [PATCH 3/3] =?UTF-8?q?docs(howto/sockets.po):=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=90=8D=E8=A9=9E=E3=80=81=E6=96=87=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改成更適合的名詞、文法,標點符號 gh-466 --- howto/sockets.po | 56 ++++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/howto/sockets.po b/howto/sockets.po index 5e48c96a46..89b38480cc 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -45,7 +45,7 @@ msgid "" "them decently." msgstr "" "Sockets 在各處都被廣泛使用,但卻是一項被誤解最嚴重的技術之一。這是一篇對 " -"sockets 的簡單介紹。這並不是一個完整的教學指南 - 你還需要做許多準備才能讓 " +"sockets 的概論介紹。這並不是一個完整的教學指南 - 你還需要做許多準備才能讓 " "sockets 正常運作。這篇文章也沒有包含細節(其中有非常多的細節),但我希望這篇" "文章能夠讓你有足夠的背景知識,以便開始正確的使用 sockets 程式設計。" @@ -82,12 +82,12 @@ msgid "" "sockets exclusively; the web server it's talking to uses both \"server\" " "sockets and \"client\" sockets." msgstr "" -"要理解這些東西的困難點之一在於 \"scoket\" 可以表示很多些微差異的東西,這主要" -"取決於上下文。所以首先,讓我們先區分 \"客戶端\" (client) socket 和 \"服務端" -"\" (server) socket 的差別,\"客戶端\" socket 表示通信的一端,\"服務端\" " -"socket 更像是一個電話總機接線員。客戶端應用程式(例如:你的瀏覽器)只能使" -"用 \"客戶端\" socket; 它所連接的網路服務器則同時使用 \"服務端\" socket 和 " -"\"客戶端\" socket 來進行通信。" +"要理解這些東西的困難點之一在於 \"scoket\" 可以代表多種具有些微差異的東西,這主要" +"取決於上下文。所以首先,讓我們先區分「用戶端 (client)」socket 和「伺服器端" +" (server)」socket 的差別,「用戶端」socket 表示通訊的一端,「伺服器端」" +"socket 更像是一個電話總機接線員。用戶端應用程式(例如:你的瀏覽器)只能使" +"用「用戶端」socket; 它所連接的網路伺服器則同時使用「伺服器端」socket 和 " +"「用戶端」socket 來進行通訊。" #: ../../howto/sockets.rst:40 msgid "History" @@ -111,8 +111,8 @@ msgid "" "of sockets with INET makes talking to arbitrary machines around the world " "unbelievably easy (at least compared to other schemes)." msgstr "" -"Sockets 作為 Unix 的 BSD 分支的一部分在 Berkeley 被發明出來。隨著網際網路的普" -"及,它們迅速蔓延開來。這是有很好的理由 — sockets 和 INET 的結合讓世界各地任何" +"Sockets 作為 Unix 的 BSD 分支的一部分在 Berkeley 被發明出來。它們隨著網際網路的普" +"及而迅速蔓延開來。這是有很好的理由 — sockets 和 INET 的結合讓世界各地任何" "的機器之間的通訊變得非常簡單(至少與其它方案相比是如此)。" #: ../../howto/sockets.rst:54 @@ -136,16 +136,16 @@ msgid "" "used for one exchange (or a small set of sequential exchanges)." msgstr "" "當 ``connect`` 完成時,這個 socket ``s`` 可以用來發送請求來取得頁面的文本。同" -"一個 socket 也會讀取回傳值,然後再被銷毀。是的,被銷毀。客戶端 socket 通常只" -"用來做一次交換(或是一小組序列的交換)。" +"一個 socket 也會讀取回傳值,然後再被銷毀。是的,會被銷毀。用戶端 socket 通常只" +"用來做一次交換(或是一小組連續交換)。" #: ../../howto/sockets.rst:70 msgid "" "What happens in the web server is a bit more complex. First, the web server " "creates a \"server socket\"::" msgstr "" -"在網路服務器 (web server) 的運作就稍微複雜一點。首先,網路服務器會建立一個 \"服務端 " -"socket\":\n" +"網路伺服器 (web server) 的運作就稍微複雜一點。首先,網路伺服器會建立一個「伺服器端 " +"socket」:\n" "\n" "::" @@ -160,8 +160,8 @@ msgid "" msgstr "" "有幾件事需要注意:我們使用了 ``socket.gethostname()``,這樣 socket 才能對外" "部網路可見。如果我們使用了 ``s.bind(('localhost', 80))`` 或 ``s." -"bind(('127.0.0.1', 80))``,我們會得到一個 \"服務端\" socket,但是只能在同一" -"台機器內可見。``s.bind(('', 80))`` 指定 socket 可以通過機器的任何地址存取。" +"bind(('127.0.0.1', 80))``,我們會得到一個「伺服器端」socket,但是只能在同一" +"台機器內可見。``s.bind(('', 80))`` 指定 socket 可以透過機器的任何地址存取。" #: ../../howto/sockets.rst:87 msgid "" @@ -169,8 +169,8 @@ msgid "" "known\" services (HTTP, SNMP etc). If you're playing around, use a nice high " "number (4 digits)." msgstr "" -"第二個要注意的是:低數字的端口 (port) 通常保留給 \"常用的\" 服務(HTTP、SNMP" -"等)。如果你只是想執行程式,可以使用一個較高的端口(4位數字)。" +"第二個要注意的是:數字小的連接埠 (port) 通常保留給「廣為人知的」服務(HTTP、SNMP" +"等)。如果你只是想執行程式,可以使用一個數字較大的連接埠(4 位數字)。" #: ../../howto/sockets.rst:91 msgid "" @@ -179,8 +179,8 @@ msgid "" "outside connections. If the rest of the code is written properly, that " "should be plenty." msgstr "" -"最後,``listen`` 引數告訴 socket 函示庫 (library) ,我們希望在佇列 (queue) 中" -"累積多達 5 個(正常的最大值)連接請求後再拒絕外部連接。如果其餘的程式碼編寫" +"最後,``listen`` 引數告訴 socket 函式庫 (library),我們希望在佇列 (queue) 中" +"累積達 5 個(正常的最大值)連接請求後再拒絕外部連接。如果其餘的程式碼編寫" "正確,這應該足夠了。" #: ../../howto/sockets.rst:95 @@ -188,7 +188,7 @@ msgid "" "Now that we have a \"server\" socket, listening on port 80, we can enter the " "mainloop of the web server::" msgstr "" -"現在我們有一個監聽 80 端口的”服務端” socket 了,我們可以進入網路服務器的" +"現在我們有一個監聽 80 連接埠的「伺服器端」socket 了,我們可以進入網路伺服器的" "主迴圈了:\n" "\n" "::" @@ -208,15 +208,15 @@ msgid "" "The two \"clients\" are free to chat it up - they are using some dynamically " "allocated port which will be recycled when the conversation ends." msgstr "" -"事實上,有三種方法可以讓這個迴圈運作 - 分配一個執行序 (thread) 來處理 " -"``clientsocket`` 、建立一個新程序 (process) 來處理 ``clientsocket``,或者將" -"這個程式重新改寫成使用非阻塞 socket,並使用 ``select`` 在我們的\"服務端\" " +"事實上,有三種方法可以讓這個迴圈運作 - 分配一個執行緒 (thread) 來處理 " +"``clientsocket`` 、建立一個新行程 (process) 來處理 ``clientsocket``,或者將" +"這個程式重新改寫成使用非阻塞 socket,並使用 ``select`` 在我們的「伺服器端」" "socket 和任何有效的 ``clientsocket`` 之間進行多工處理。稍後將會更詳細的介紹。" -"現在最重要的是理解:這就是\"服務端\" socket 做的\\ *所有* \\事情。它不會發送任何" -"資料。也不接收任何資料。它只會建立\"服務端\" socket。每個 ``clientsocket`` " -"都是為了回應某些\\ *其他* \\ ``connect()`` 到我們綁定的主機上的\"客戶端\" socket。" -"一但 ``clientsocket`` 建立完成,就會繼續監聽更多的連接請求。兩個\"客戶端\"可" -"以隨意的通訊 - 它們使用的是一些動態分配的端口,會在對話結束的時候被回收並重新" +"現在最重要的是理解:這就是「伺服器端」socket 做的\\ *所有* \\事情。它不會發送任何" +"資料、也不接收任何資料,它只會建立「伺服器端」socket。每個 ``clientsocket`` " +"都是為了回應某些\\ *其他* \\ ``connect()`` 到我們綁定的主機上的「用戶端」socket。" +"一但 ``clientsocket`` 建立完成,就會繼續監聽更多的連接請求。兩個「用戶端」可" +"以隨意的通訊 - 它們使用的是一些動態分配的連接埠,會在通訊結束的時候被回收並重新" "利用。" #: ../../howto/sockets.rst:121