python網路編程之<通訊端1>__編程

來源:互聯網
上載者:User

一.關於通訊端的介紹

1.通訊端的大概介紹
<1>網路化的應用程式在開始任何通訊之前都必須要建立通訊端,沒有它就完全沒辦法通訊。
<2>一開始,通訊端被設計用在同一台主機上多個應用程式之間的通訊,這也叫進程間通訊,或IPC。
<3>通訊端有兩種,分別是基於檔案型的和基於網路型的。
<4>AF_UNIX表示”地址家族:UNIX” –>基於檔案的。
AF_INET表示”地址家族:Internet”–>基於網路的。
<5>python只支援AF_INET、AF_UNIX、AF_NETLINK家族。

2.通訊端地址:主機和連接埠
通訊端是通訊的最底層結構。一個Internet地址由網路通訊所必需的主機和連接埠組成。

3.連線導向與無串連
無論使用哪一種地址家族,通訊端的類型只有兩種:連線導向的通訊端和不需連線的通訊端

<1>連線導向的通訊端
i.在通訊前一定要建立一條串連,連線導向的通訊方式提供了順序的,可靠的,不會重複的資料轉送。
ii.實現這種串連的主要協議是TCP(傳輸控制通訊協定),要建立TCP通訊端就得在建立的時候指定通訊端的類型為SOCK_STREAM。

<2>不需連線的通訊端
i.無需串連就可以進行通訊,資料到達的順序,可靠性及資料不重複性就無法保證了。
ii.實現這種串連的主要協議是UDP(使用者資料包通訊協定),要建立UDP通訊端就得在建立的時候指定通訊端類型為SOCK_DGRAM。

二.python中的網路編程
主要使用socket模組,模組中的socket()函數被用來建立通訊端。通訊端會提供一系列函數來支援基於通訊端的網路通訊。

1.socket()模組函數
使用socket.socket()函數來建立通訊端,文法:

sockete(socket_family,socket_type,protocol=0)

講解:
socket_family可以是AF_UNIX或AF_INET;socket_type可以是SOCK_STREAM或SOCK_DGRAM;protocol一般不填,預設值是0.

<1>建立一個TCP/IP的通訊端

tcpSock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

<2>建立一個UDP/IP的通訊端

udpSock=sock.socket(socket.AF_INET,socket.SOCK_DGRAM)

2.通訊端對象方法
圖片中介紹了通訊端s的主要方法:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.