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 pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy