免費開始練習
地特三等申論題 112年 [資訊處理] 程式設計

第 四 題

針對下列 Python 程式碼,依序在兩個 Terminal 執行 server.py 和 client.py 後,在 client.py 輸入 Tom 和 quit;請說明 client.py 的 Terminal 之輸出內容,並說明 Line 03, 04, 05 程式碼的運作邏輯。(25 分)
(程式碼包含 server.py 的 Socket 監聽與 client.py 的連線發送邏輯)
📝 此題為申論題

思路引導 VIP

看到此題,應先辨識出這是 Python Socket 程式設計的經典 TCP Client-Server 架構題型。解題時需先在腦中模擬 TCP 通訊與迴圈控制流程,精準寫出終端機的輸入輸出交替結果;接著針對伺服器端初始化的關鍵三步驟(建立、綁定、監聽),以網路通訊底層概念解釋其物件導向與系統呼叫的意義。

🤖
AI 詳解 AI 專屬家教

【破題】本題測驗 Python Socket 模組中 TCP 連線的運作機制,重點在於客戶端與伺服器端的雙向訊息傳遞流程,以及伺服器端 Socket 初始化的關鍵步驟與生命週期管理。 【論述】 一、client.py 的 Terminal 輸出內容

▼ 還有更多解析內容
📝 TCP Socket 程式設計
💡 掌握 TCP 伺服器建置三部曲與 Socket 連線生命週期管理。

🔗 TCP Server 通訊生命週期

  1. 1 socket() — 建立通訊端點,設定協定族群與類型。
  2. ↓
  3. 2 bind() — 將 Socket 綁定至特定的 IP 與 Port。
  4. ↓
  5. 3 listen() — 將主動模式轉為被動監聽,等待連線。
  6. ↓
  7. 4 accept() — 接受請求,建立連線 Socket 並回傳。
  8. ↓
  9. 5 recv / send — 進行資料交換(需注意編碼轉換)。
  10. ↓
  11. 6 close() — 關閉連線,確保系統資源得以釋放。
🔄 延伸學習:延伸學習:在高併發情境下,需結合多執行緒 (Threading) 或非同步 IO (Asyncio) 處理多個 client。
🧠 記憶技巧:VIP 會員可查看這題的記憶口訣與速記法
⚠️ 常見陷阱:VIP 會員可查看這題最常被誘答的陷阱整理
UDP Socket 差異 TCP 三方交握 OSI 七層協定

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

📝 同份考卷的其他題目

查看 112年[資訊處理] 程式設計 全題