1. 程式人生 > >6.python中的網絡編程

6.python中的網絡編程

unix 技術 內置 網絡編程 一個 protocol udp 針對 netlink

在python中支持多種地址家族

其中,常用的最早的伯克利套接字中是AF_UNIX,

Linux中的套接字是AF_NETLINK,

針對 Linux 的另一種特性(Python 2.6 中新增)就是支持透明的進程間通信(TIPC)協議。 TIPC 允許計算機集群之中的機器相互通信,而無須使用基於 IP 的尋址方式。 Python TIPC 的支持以 AF_TIPC 家族的方式呈現。

而最常用的基於網絡的編程是基於家族名字 AF_INET,或者地址家族:因特網。另一個地址家族 AF_INET6 用於第 6 版因特網協議(IPv6)尋址 。

1.創建套接字

要創建套接字,必須使用 socket.socket()函數,它一般的語法如下。


socket(socket_family, socket_type, protocol=0)
其中,socket_family 是 AF_UNIX 或 AF_INET(如前所述),socket_type 是 SOCK_STREAM
或 SOCK_DGRAM(也如前所述)。 protocol 通常省略,默認為 0。
所以,為了創建 TCP/IP 套接字,可以用下面的方式調用 socket.socket()。
tcpSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
同樣,為了創建 UDP/IP 套接字,需要執行以下語句。
udpSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

tips:使用from socketimport *,就可以直接寫udpSock = socket(socket.AF_INET, socket.SOCK_DGRAM),不用每個函數名前都加上模塊名socket了。

套接字內置的方法

技術分享

技術分享

技術分享

一般來說,簡單的標準流程為:

技術分享

6.python中的網絡編程