国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

python SOCKET編程基礎入門

瀏覽:7日期:2022-06-27 08:16:10
一、UDP編程

1.客戶端Client:發起訪問的一方。

2.服務器端

3.server段編程

(1)建立socket,socket是負責具體通信的一個實例

(2)綁定,為創建的socket指派固定的端口和IP地址

(3)接受對方發送內容

(4)給對方發送反饋,此步驟為非必須步驟

4.Client端編程

(1)建立通信的socket

(2)發送內容到指定服務器

(3)接受服務器給定的反饋內容

5.模擬一下這個過程

(1)我們先建立一個服務器的函數

#服務器案例import socket​#模擬服務器的函數def serverFunc(): #1.建立socket #socket.AF_INET:使用IPV4協議族 #socket.SOCK_DGRAM:使用UDP通信 sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) #2.綁定ip和port​ #127.0.01:這個ip地址代表的是機器本身 #7852:隨機指定的端口號 #地址是一個tuple類型,(ip.port) addr = ('127.0.0.1',7852) sock.bind(addr)​ #接受對方消息 #等待方式為死等,沒有其他可能性 #recvfrom接受的返回值是一個元組,前一項表示數據,后一項表示地址 #參數的含義是緩沖區大小 #rst = sock.recvfrom(500) data,addr = sock.recvfrom(500)​ print(data) print(type(data))​ #發送過來的數據是bytes格式,必須通過解碼才能得到str格式內容 #decode默認參數是utf8 text = data.decode() print(type(text)) print(text)​ #給對方反饋的消息 rsp = 'I am very hungry now'​ #發送的數據需要編程成bytes格式 #默認時utf8 data = rsp.encode() sock.sendto(data,addr) if __name__ == '__main__': print('Start Server') serverFunc()print('End Server')

(2)然后創建一個客戶端的函數

import socketdef clientFunc(): sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) text = 'you are very cool'​ #發送的數據必須是bytes格式 data = text.encode() #發送 sock.sendto(data,('127.0.0.1',7852)) data,addr =sock.recvfrom(200)​ data = data.decode() print(text)​if __name__ == '__main__': print('Start Client') clientFunc()print('End Client')

(3)我們先啟動服務器端函數

出現如下圖像,它是創建了一個sock,然后自己綁定到127.0.0.1:7852,運行到sock.recvfrom(500)這里死等客戶端發消息

python SOCKET編程基礎入門

(4)再啟動客戶端函數

出現如下發送編碼后的​text內容到服務器(127.0.0.1:7852),服務器成功接收后返回you are cool這句話。

python SOCKET編程基礎入門

(5)我們再看服務器的函數那里

接受了bytes格式的字符串,并打印出來了,然后再解碼打印出來,最后把you are cool返回​客戶端。

python SOCKET編程基礎入門

(6)這里有個地方沒有辦法:因為我們在一臺電腦上做的測試,所以相當于自言自語,​不如在兩臺電腦上進行試驗。​

二、源碼

D33_1_ServerProgramme.py

D33_2_ClientProgramme.py

https://github.com/ruigege66/Python_learning/blob/master/D33_1_ServerProgramme.py

https://github.com/ruigege66/Python_learning/blob/master/D33_2_ClientProgramme.py

以上就是python SOCKET編程基礎入門的詳細內容,更多關于python SOCKET編程的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 巴彦县| 西丰县| 邯郸市| 彩票| 偏关县| 三亚市| 台中县| 易门县| 嘉义市| 宝兴县| 封开县| 武乡县| 曲麻莱县| 江华| 逊克县| 门头沟区| 衡山县| 连平县| 德钦县| 屏东市| 嵊州市| 社旗县| 弋阳县| 铜鼓县| 遂川县| 建水县| 东安县| 肇源县| 巴彦淖尔市| 平塘县| 苍南县| 玛纳斯县| 巨鹿县| 察雅县| 吴堡县| 乌海市| 绥宁县| 青田县| 营山县| 两当县| 修文县|