天天看點

python socket程式設計_Python Socket程式設計實作網絡程式設計

對于有經驗的開發人員來說,掌握的程式設計語言應該是不少的。在這些程式設計語言中,網絡程式設計的應用時必不可少的。其中Python也是這樣的程式設計語言。我們今天将會在這裡為大家詳細介紹一下Python Socket程式設計再網絡程式設計中的應用。

Socket:套接字

套接字好比電話的插口,主機和端口就好比區号和電話号碼,主機:是你要連接配接到哪裡,端口:是從那個口子連過去,和大多數語言一樣,Python 支援面向連接配接和無連接配接。

面向連接配接即需要先連接配接然後通訊, 面向連接配接主要協定就是傳輸控制協定(tcp),要建立tcp套接字時需要指定套接字類型為 SOCK_STRAM,表達了他作為流套接字的特點。

無連接配接,顧名思義無需建立連接配接就可以進行通訊,這時資料到達順序、可靠性就無法保證了。實作這種連接配接的協定就是使用者資料包協定(udp)。建立UDP時需要指定套接字類型為 SOCK_DGRAM。

建立 Socket:

建立Python Socket程式設計用到 Socket子產品函數,文法為:

Socket(Socket_family,Socket_type,protocol=0)

Socket_family不是 AF_VNIX 就是 AF_INET,通常使用的是AF_INET(不明白可以去查些資料),Socket_type可以是 SOCK_STREAM 或者 SOCK_DGRAM,protocol一般不填,就預設為0

建立一個TCP/IP的套接字:

tcpSock=Socket(Socket.AF_INET,Socket.SOCK_STRAM)

建立一個UDP/IP的套接字:

udpSock=Socket(Socket.AF_INET,Socket.SOCK_DGRAM)

建立好套接字以後,我們需要使用套接字的内建方法,常用的方法:

伺服器端

s.bind() 綁定位址(主機,端口)到套接字

s.listen() 開始監聽

s.accept() 被動接受 tcp用戶端連接配接(阻塞式),等待連接配接的到來

用戶端

s.connet() 主動初始化tcp伺服器連接配接

s.connet_ex() connet擴充版本,出錯時傳回錯誤代碼,不抛出異常

s.recv() 接受tcp資料

s.send() 發送資料

s.close() 關閉套接字

常用的Python Socket程式設計方法如上,還有一些方法大家可以查詢些資料。

【責任編輯:曹凱 TEL:(010)68476606】

點贊 0