欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python SOCKET編程基礎(chǔ)入門

 更新時間:2021年02月27日 10:12:01   作者:心悅君兮君不知-睿  
這篇文章主要介紹了python SOCKET編程基礎(chǔ)入門的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下

一、UDP編程

1.客戶端Client:發(fā)起訪問的一方。

2.服務(wù)器端

3.server段編程

(1)建立socket,socket是負(fù)責(zé)具體通信的一個實(shí)例

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

(3)接受對方發(fā)送內(nèi)容

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

4.Client端編程

(1)建立通信的socket

(2)發(fā)送內(nèi)容到指定服務(wù)器

(3)接受服務(wù)器給定的反饋內(nèi)容

5.模擬一下這個過程

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

#服務(wù)器案例

import socket

​

#模擬服務(wù)器的函數(shù)

def serverFunc():

  #1.建立socket

  #socket.AF_INET:使用IPV4協(xié)議族

  #socket.SOCK_DGRAM:使用UDP通信

  sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

  #2.綁定ip和port

​

  #127.0.01:這個ip地址代表的是機(jī)器本身

  #7852:隨機(jī)指定的端口號

  #地址是一個tuple類型,(ip.port)

  addr = ("127.0.0.1",7852)

  sock.bind(addr)

​

  #接受對方消息

  #等待方式為死等,沒有其他可能性

  #recvfrom接受的返回值是一個元組,前一項(xiàng)表示數(shù)據(jù),后一項(xiàng)表示地址

  #參數(shù)的含義是緩沖區(qū)大小

  #rst = sock.recvfrom(500)

  data,addr = sock.recvfrom(500)

​

  print(data)

  print(type(data))

​

  #發(fā)送過來的數(shù)據(jù)是bytes格式,必須通過解碼才能得到str格式內(nèi)容

  #decode默認(rèn)參數(shù)是utf8

  text = data.decode()

  print(type(text))

  print(text)

​

  #給對方反饋的消息

  rsp = "I am very hungry now"

​

  #發(fā)送的數(shù)據(jù)需要編程成bytes格式

  #默認(rèn)時utf8

  data = rsp.encode()

  sock.sendto(data,addr)

  

if __name__ == "__main__":

  print("Start Server")

  serverFunc()

print("End Server")

(2)然后創(chuàng)建一個客戶端的函數(shù)

import socket

def clientFunc():

  sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

  text = "you are very cool"

​

  #發(fā)送的數(shù)據(jù)必須是bytes格式

  data = text.encode()

  #發(fā)送

  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)我們先啟動服務(wù)器端函數(shù)

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

(4)再啟動客戶端函數(shù)

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

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

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

(6)這里有個地方?jīng)]有辦法:因?yàn)槲覀冊谝慌_電腦上做的測試,所以相當(dāng)于自言自語,​不如在兩臺電腦上進(jìn)行試驗(yàn)。​

二、源碼

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編程基礎(chǔ)入門的詳細(xì)內(nèi)容,更多關(guān)于python SOCKET編程的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • pytorch 實(shí)現(xiàn)多個Dataloader同時訓(xùn)練

    pytorch 實(shí)現(xiàn)多個Dataloader同時訓(xùn)練

    這篇文章主要介紹了pytorch 實(shí)現(xiàn)多個Dataloader同時訓(xùn)練的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • wxpython繪制圓角窗體

    wxpython繪制圓角窗體

    這篇文章主要為大家詳細(xì)介紹了wxpython繪制圓角窗體,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 使用Python腳本操作MongoDB的教程

    使用Python腳本操作MongoDB的教程

    這篇文章主要介紹了使用Python腳本操作MongoDB的教程,MongoDB作為非關(guān)系型數(shù)據(jù)庫得到了很大的宣傳力度,而市面上的教程一般都是講解JavaScript的腳本操作,本文則是基于Python,需要的朋友可以參考下
    2015-04-04
  • Python使用PyAudio制作錄音工具的實(shí)現(xiàn)代碼

    Python使用PyAudio制作錄音工具的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Python使用PyAudio制作錄音工具,音頻錄制與視頻錄制相似,也是以數(shù)據(jù)幀的方式錄制保存,這次使用強(qiáng)大的第三方包PyAudio和內(nèi)置的wave模塊編寫,需要的朋友可以參考下
    2022-04-04
  • python list刪除元素時要注意的坑點(diǎn)分享

    python list刪除元素時要注意的坑點(diǎn)分享

    下面小編就為大家分享一篇python list刪除元素時要注意的坑點(diǎn)分享,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python2.7環(huán)境Flask框架安裝簡明教程【已測試】

    Python2.7環(huán)境Flask框架安裝簡明教程【已測試】

    這篇文章主要介紹了Python2.7環(huán)境Flask框架安裝方法,結(jié)合實(shí)例形式詳細(xì)分析了Python2.7環(huán)境下安裝Flask框架遇到的問題與相關(guān)解決方法、注意事項(xiàng),并給出了一個基本的測試示例,需要的朋友可以參考下
    2018-07-07
  • 關(guān)于python列表相關(guān)知識點(diǎn)

    關(guān)于python列表相關(guān)知識點(diǎn)

    這篇文章主要介紹了關(guān)于python列表相關(guān)知識點(diǎn),變量可以存儲一個元素,而列表是一個大容器,可以存儲N多個元素,程序可以方便的對這些數(shù)據(jù)進(jìn)行整體操作,需要的朋友可以參考下
    2023-04-04
  • python矩陣的轉(zhuǎn)置和逆轉(zhuǎn)實(shí)例

    python矩陣的轉(zhuǎn)置和逆轉(zhuǎn)實(shí)例

    今天小編就為大家分享一篇python矩陣的轉(zhuǎn)置和逆轉(zhuǎn)實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 使用Python自制數(shù)據(jù)庫備份工具實(shí)現(xiàn)數(shù)據(jù)定時覆蓋

    使用Python自制數(shù)據(jù)庫備份工具實(shí)現(xiàn)數(shù)據(jù)定時覆蓋

    這篇文章主要為大家詳細(xì)介紹了如何使用Python自制數(shù)據(jù)庫備份工具實(shí)現(xiàn)數(shù)據(jù)定時覆蓋功能,文中的示例代碼講解詳細(xì),需要的小伙伴可以參考下
    2024-03-03
  • OpenCV自動給圖片添加彩虹特效的實(shí)現(xiàn)示例

    OpenCV自動給圖片添加彩虹特效的實(shí)現(xiàn)示例

    圖像處理的學(xué)習(xí)往往都是要先熟悉下圖像的一些基本處理方法,本文主要介紹了OpenCV自動給圖片添加彩虹特效的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評論