Skip to Content
Python 技術手冊 第三版
book

Python 技術手冊 第三版

by lex Martelli, Anna Martelli Ravenscroft, Steve Holden
January 2018
Intermediate to advanced content levelIntermediate to advanced
856 pages
17h 17m
Chinese
GoTop Information, Inc.
Content preview from Python 技術手冊 第三版
564
|
17 章 網路基礎
一個連線導向客戶端的整體邏輯如下:
1. 呼叫
socket.socket
來創建型別為
socket.SOCK_STREAM
的一個 socket
2. 選擇性地,呼叫 socket
bind
方法來將 socket 關聯至一個指定的端
點。
3. 呼叫 socket
connect
方法建立一個連線到伺服器。
4. 使用 socket
recv
send
方法與伺服器互動,從伺服器讀取資料,或
發送資料給它。
recv
方法會阻斷,直到有來自伺服器的資料可用為止
(或伺服器表明它想關閉連線,在那種情況中,
recv
呼叫會回傳一個
空的結果)。
send
方法只會在這種情形下阻斷:網路軟體緩衝了太多資
料,通訊必須暫停,等到傳輸層清空了它的一些緩衝記憶體之後才能
繼續。當客戶端希望關閉連線,它可以呼叫 socket
close
方法來這麼
做,也可以選擇性地先呼叫它的
shutdown
方法。
連線導向的互動通常會比無連線的互動還要複雜。具體而言,決定何時要
讀取或寫入資料比較複雜,因為輸入必須被剖析(parsed)才能判斷源自
socket 另一端的傳輸何時完成。用於連線導向網路中的協定必須協助這種
判斷,有的時候這是藉由將資料長度表示為內容的一部分來達成,有時則
以更複雜的方法。
socket 模組
Python
socket
模組以 socket 介面來處理網路通訊。平台之間有細微的差
異,但此模組隱藏了大部分的差異,讓我們更容易寫出可移植的網路應用
程式。
此模組定義了四種例外:它們的基礎類別 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

測試驅動開發|使用 Python

測試驅動開發|使用 Python

Harry J.W. Percival
Linux 内核观测技术BPF

Linux 内核观测技术BPF

David Calavera, Lorenzo Fontana

Publisher Resources

ISBN: 9789864766819