日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python3高性能网络编程_Python3 网络编程

發(fā)布時間:2025/3/20 python 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python3高性能网络编程_Python3 网络编程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Python 提供了兩個級別訪問的網(wǎng)絡(luò)服務(wù)。:低級別的網(wǎng)絡(luò)服務(wù)支持基本的 Socket,它提供了標準的 BSD Sockets API,可以訪問底層操作系統(tǒng)Socket接口的全部方法。

高級別的網(wǎng)絡(luò)服務(wù)模塊 SocketServer, 它提供了服務(wù)器中心類,可以簡化網(wǎng)絡(luò)服務(wù)器的開發(fā)。

什么是 Socket?

Socket又稱"套接字",應(yīng)用程序通常通過"套接字"向網(wǎng)絡(luò)發(fā)出請求或者應(yīng)答網(wǎng)絡(luò)請求,使主機間或者一臺計算機上的進程間可以通訊。

socket()函數(shù)

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

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

參數(shù)family: 套接字家族可以使AF_UNIX或者AF_INET

type: 套接字類型可以根據(jù)是面向連接的還是非連接分為SOCK_STREAM或SOCK_DGRAM

protocol: 一般不填默認為0.

Socket 對象(內(nèi)建)方法

簡單實例

服務(wù)端

我們使用 socket 模塊的 socket 函數(shù)來創(chuàng)建一個 socket 對象。socket 對象可以通過調(diào)用其他函數(shù)來設(shè)置一個 socket 服務(wù)。

現(xiàn)在我們可以通過調(diào)用 bind(hostname, port) 函數(shù)來指定服務(wù)的 port(端口)。

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

完整代碼如下:

#!/usr/bin/python3

# 文件名:server.py

# 導(dǎo)入 socket、sys 模塊

import socket

import sys

# 創(chuàng)建 socket 對象

serversocket = socket.socket(

socket.AF_INET, socket.SOCK_STREAM)

# 獲取本地主機名

host = socket.gethostname()

port = 9999

# 綁定端口號

serversocket.bind((host, port))

# 設(shè)置最大連接數(shù),超過后排隊

serversocket.listen(5)while True:

# 建立客戶端連接

clientsocket,addr = serversocket.accept()

print("連接地址: %s" % str(addr))

msg='歡迎訪問菜鳥教程!'+ "\r\n"

clientsocket.send(msg.encode('utf-8'))

clientsocket.close()

客戶端

接下來我們寫一個簡單的客戶端實例連接到以上創(chuàng)建的服務(wù)。端口號為 9999。

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

完整代碼如下:

#!/usr/bin/python3

# 文件名:client.py

# 導(dǎo)入 socket、sys 模塊

import socket

import sys

# 創(chuàng)建 socket 對象

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

# 獲取本地主機名

host = socket.gethostname()

# 設(shè)置端口號

port = 9999

# 連接服務(wù),指定主機和端口

s.connect((host, port))

# 接收小于 1024 字節(jié)的數(shù)據(jù)

msg = s.recv(1024)

s.close()

print (msg.decode('utf-8'))

現(xiàn)在我們打開兩個終端,第一個終端執(zhí)行 server.py 文件:

$ python3 server.py

第二個終端執(zhí)行 client.py 文件:

$ python3 client.py

歡迎訪問菜鳥教程!

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

連接地址: ('192.168.0.118', 33397)

Python Internet 模塊

以下列出了 Python 網(wǎng)絡(luò)編程的一些重要模塊

總結(jié)

以上是生活随笔為你收集整理的python3高性能网络编程_Python3 网络编程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。