亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python 網絡編程

2019-11-06 07:56:26
字體:
來源:轉載
供稿:網友

Python 提供了兩個級別訪問的網絡服務。:

低級別的網絡服務支持基本的 Socket,它提供了標準的 BSD Sockets API,可以訪問底層操作系統Socket接口的全部方法。高級別的網絡服務模塊 SocketServer, 它提供了服務器中心類,可以簡化網絡服務器的開發。

什么是 Socket?

Socket又稱"套接字",應用程序通常通過"套接字"向網絡發出請求或者應答網絡請求,使主機間或者一臺計算機上的進程間可以通訊。


socket()函數

Python 中,我們用 socket()函數來創建套接字,語法格式如下:

socket.socket([family[, type[, PRoto]]])

參數

family: 套接字家族可以使AF_UNIX或者AF_INETtype: 套接字類型可以根據是面向連接的還是非連接分為SOCK_STREAMSOCK_DGRAMprotocol: 一般不填默認為0.

Socket 對象(內建)方法

函數描述
服務器端套接字
s.bind()綁定地址(host,port)到套接字, 在AF_INET下,以元組(host,port)的形式表示地址。
s.listen()開始TCP監聽。backlog指定在拒絕連接之前,操作系統可以掛起的最大連接數量。該值至少為1,大部分應用程序設為5就可以了。
s.accept()被動接受TCP客戶端連接,(阻塞式)等待連接的到來
客戶端套接字
s.connect()主動初始化TCP服務器連接,。一般address的格式為元組(hostname,port),如果連接出錯,返回socket.error錯誤。
s.connect_ex()connect()函數的擴展版本,出錯時返回出錯碼,而不是拋出異常
公共用途的套接字函數
s.recv()接收TCP數據,數據以字符串形式返回,bufsize指定要接收的最大數據量。flag提供有關消息的其他信息,通??梢院雎浴?/td>
s.send()發送TCP數據,將string中的數據發送到連接的套接字。返回值是要發送的字節數量,該數量可能小于string的字節大小。
s.sendall()完整發送TCP數據,完整發送TCP數據。將string中的數據發送到連接的套接字,但在返回之前會嘗試發送所有數據。成功返回None,失敗則拋出異常。
s.recvform()接收UDP數據,與recv()類似,但返回值是(data,address)。其中data是包含接收數據的字符串,address是發送數據的套接字地址。
s.sendto()發送UDP數據,將數據發送到套接字,address是形式為(ipaddr,port)的元組,指定遠程地址。返回值是發送的字節數。
s.close()關閉套接字
s.getpeername()返回連接套接字的遠程地址。返回值通常是元組(ipaddr,port)。
s.getsockname()返回套接字自己的地址。通常是一個元組(ipaddr,port)
s.setsockopt(level,optname,value)設置給定套接字選項的值。
s.getsockopt(level,optname[.buflen])返回套接字選項的值。
s.settimeout(timeout)設置套接字操作的超時期,timeout是一個浮點數,單位是秒。值為None表示沒有超時期。一般,超時期應該在剛創建套接字時設置,因為它們可能用于連接的操作(如connect())
s.gettimeout()返回當前超時期的值,單位是秒,如果沒有設置超時期,則返回None。
s.fileno()返回套接字的文件描述符。
s.setblocking(flag)如果flag為0,則將套接字設為非阻塞模式,否則將套接字設為阻塞模式(默認值)。非阻塞模式下,如果調用recv()沒有發現任何數據,或send()調用無法立即發送數據,那么將引起socket.error異常。
s.makefile()創建一個與該套接字相關連的文件

簡單實例

服務端

我們使用 socket 模塊的 socket 函數來創建一個 socket 對象。socket 對象可以通過調用其他函數來設置一個 socket 服務。

現在我們可以通過調用 bind(hostname, port) 函數來指定服務的 port(端口)。

接著,我們調用 socket 對象的 accept 方法。該方法等待客戶端的連接,并返回 connection 對象,表示已連接到客戶端。

完整代碼如下:

#!/usr/bin/python# -*- coding: UTF-8 -*-# 文件名:server.pyimport socket               # 導入 socket 模塊s = socket.socket()         # 創建 socket 對象host = socket.gethostname() # 獲取本地主機名port = 12345                # 設置端口s.bind((host, port))        # 綁定端口s.listen(5)                 # 等待客戶端連接while True:    c, addr = s.accept()     # 建立客戶端連接。    print '連接地址:', addr    c.send('歡迎訪問菜鳥教程!')    c.close()                # 關閉連接

客戶端

接下來我們寫一個簡單的客戶端實例連接到以上創建的服務。端口號為 12345。

socket.connect(hosname, port ) 方法打開一個 TCP 連接到主機為 hostname 端口為 port 的服務商。連接后我們就可以從服務端后期數據,記住,操作完成后需要關閉連接。

完整代碼如下:

#!/usr/bin/python# -*- coding: UTF-8 -*-# 文件名:client.pyimport socket               # 導入 socket 模塊s = socket.socket()         # 創建 socket 對象host = socket.gethostname() # 獲取本地主機名port = 12345                # 設置端口好s.connect((host, port))print s.recv(1024)s.close()  

現在我們打開兩個終端,第一個終端執行 server.py 文件:

$ python server.py

第二個終端執行 client.py 文件:

$ python client.py 歡迎訪問菜鳥教程!

這是我們再打開第一個終端,就會看到有以下信息輸出:

連接地址: ('192.168.0.118', 62461)
上一篇:python入門基礎

下一篇:leetcode 492 python

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久精品国产一区二区| 欧美日韩国产成人在线观看| 亚洲无亚洲人成网站77777| 久久久亚洲欧洲日产国码aⅴ| 亚洲xxxx在线| 亚洲在线视频观看| 精品久久久久久久久国产字幕| 日韩在线中文视频| 97精品在线观看| 55夜色66夜色国产精品视频| 欧美日韩国产激情| 欧美性猛交xxxx乱大交蜜桃| 久久久久久18| 亚洲欧美一区二区激情| 亚洲va电影大全| 91亚洲va在线va天堂va国| 成人精品在线视频| 欧美午夜宅男影院在线观看| 精品亚洲男同gayvideo网站| 亚洲精品福利在线| 亚洲精品福利资源站| 黄色成人在线免费| 国产精品一区二区女厕厕| 日韩视频在线观看免费| 国产精品一区专区欧美日韩| 成人在线国产精品| 日韩在线观看免费av| 一区二区三区四区在线观看视频| 秋霞成人午夜鲁丝一区二区三区| 欧美激情精品久久久久久久变态| 久久理论片午夜琪琪电影网| 国产精品免费一区| 97在线视频精品| 久久全球大尺度高清视频| 中文字幕九色91在线| 欧美最猛性xxxxx亚洲精品| 伊人久久大香线蕉av一区二区| 国产suv精品一区二区三区88区| 久精品免费视频| 日韩69视频在线观看| 久热在线中文字幕色999舞| 青青草原成人在线视频| 国产999精品| 97视频在线免费观看| 91精品久久久久久久久久久久久久| 在线精品国产欧美| 国产精品免费久久久久久| 欧美大全免费观看电视剧大泉洋| 亚洲乱码国产乱码精品精天堂| 欧美精品在线视频观看| 国产精品白嫩美女在线观看| 国内久久久精品| 5252色成人免费视频| 亚洲第一网站免费视频| 亚洲黄色av女优在线观看| 久久精品亚洲94久久精品| 亚洲一区二区福利| 大荫蒂欧美视频另类xxxx| 成人激情视频在线观看| 中文字幕欧美专区| 亚洲a成v人在线观看| 日本精品视频网站| 久久久久亚洲精品成人网小说| 亚洲电影天堂av| 亚洲精品美女免费| 欧美另类老肥妇| 国产午夜精品一区理论片飘花| 久久人人爽人人爽人人片av高请| 丝袜美腿精品国产二区| 精品久久香蕉国产线看观看gif| 日韩在线观看av| 亚洲娇小xxxx欧美娇小| xx视频.9999.com| 亚洲精品电影久久久| 91av在线精品| 粉嫩av一区二区三区免费野| 精品久久久久久久久久久久久久| 国产精品偷伦一区二区| 欧美午夜丰满在线18影院| 亚洲精品天天看| 黑人巨大精品欧美一区二区| 国产精品嫩草影院久久久| 成人性生交大片免费看视频直播| 91精品国产91久久久久久最新| 日韩亚洲欧美中文高清在线| 成人亚洲综合色就1024| 亚洲缚视频在线观看| 精品国内产的精品视频在线观看| 色小说视频一区| 精品久久香蕉国产线看观看gif| 欧美激情极品视频| 亚洲国产中文字幕在线观看| 色www亚洲国产张柏芝| 久久精品国产99国产精品澳门| 动漫精品一区二区| 欧美性生活大片免费观看网址| 91在线免费网站| 日韩美女免费视频| 亚洲一区美女视频在线观看免费| 国产999精品久久久影片官网| 韩剧1988在线观看免费完整版| 欧美另类老肥妇| 视频在线观看一区二区| 欧美日产国产成人免费图片| 色青青草原桃花久久综合| 国产精品视频999| 日韩高清av一区二区三区| 亚洲国产精久久久久久| 日本久久久a级免费| 亚洲影院色在线观看免费| 欧美性猛交xxxx久久久| 欧美国产在线电影| 欧美特级www| 亚洲精品少妇网址| 国产精品一区二区久久久| 97视频在线观看视频免费视频| 理论片在线不卡免费观看| 欧美精品久久一区二区| 亚洲人成自拍网站| 97婷婷大伊香蕉精品视频| 欧美精品videossex88| 日韩美女免费线视频| 成人天堂噜噜噜| 国产精品揄拍500视频| 日韩精品免费电影| 欧美乱妇高清无乱码| 欧美成人久久久| 成人精品视频在线| 亚洲一区二区中文字幕| 成人在线免费观看视视频| 国产在线精品成人一区二区三区| 国产精品偷伦视频免费观看国产| 亚洲国产精品视频在线观看| 中文字幕亚洲图片| 欧美成人亚洲成人日韩成人| 久久久97精品| 亚洲国产成人在线播放| 日本精品一区二区三区在线| 欧美激情国内偷拍| 欧洲亚洲在线视频| 国产剧情久久久久久| 久久天天躁狠狠躁夜夜爽蜜月| 国产自产女人91一区在线观看| 久久精品国产免费观看| 国产日本欧美一区二区三区在线| 亚洲最新av在线| 亚洲国产欧美一区二区三区久久| 在线日韩av观看| 亚洲欧美日韩一区在线| 国产精品视频成人| 日韩欧美在线播放| 日韩免费在线电影| 久久亚洲精品成人| 欧美孕妇与黑人孕交| 高清欧美性猛交xxxx黑人猛交| 91久久精品日日躁夜夜躁国产| 日韩经典中文字幕| 色婷婷综合久久久久| 神马国产精品影院av| 日韩在线高清视频| 欧美极品美女视频网站在线观看免费| 亚洲欧美在线免费观看| 色悠久久久久综合先锋影音下载| 欧美性开放视频|