最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python socket實現(xiàn)的簡單通信功能示例

 更新時間:2018年08月21日 09:01:07   作者:噴跑的豆子  
這篇文章主要介紹了Python socket實現(xiàn)的簡單通信功能,結(jié)合實例形式分析了Python socket通信的相關(guān)概念、原理、客戶端與服務(wù)器端實現(xiàn)技巧以及socketserver模塊多并發(fā)簡單實現(xiàn)方法,需要的朋友可以參考下

本文實例講述了Python socket實現(xiàn)的簡單通信功能。分享給大家供大家參考,具體如下:

套接字(socket)是計算機網(wǎng)絡(luò)數(shù)據(jù)結(jié)構(gòu),在任何類型的通信開始之前,網(wǎng)絡(luò)應(yīng)用程序必須創(chuàng)建套接字,可以將其比作電話的插孔,沒有它將無法進行通信

常用的地址家族

  • AF_UNIX:基于文件,實現(xiàn)同一主機不同進程之間的通信
  • AF_INET:基于網(wǎng)絡(luò),適用于IPv4
  • AF_INET6:基于網(wǎng)絡(luò),使用于IPv6

常見的連接類型

  • SOCK_STREAM:即TCP/IP。面向連接的套接字,通信之前必須建立可靠的連接。面向連接的套接字提供序列化的、可靠的和不重復(fù)的數(shù)據(jù)交付,而沒有記錄邊界。
  • SOCK_DGRAM:即UDP。面向非連接的套接字,通信之前無需建立連接。在數(shù)據(jù)傳輸過程中無法保證數(shù)據(jù)的有序性、可靠性和重復(fù)性。然而數(shù)據(jù)報確實保存了記錄邊界,意味著數(shù)據(jù)是以整體發(fā)送的,而非事先切割多個片段。

socket通信

  • server端
import socket
server = socket.socket()  # 默認是AF_INET、SOCK_STREAM
server.bind(("localhost",6868))   # 將主機號與端口綁定到套接字
server.listen()   # 設(shè)置并啟動TCP監(jiān)聽器
while True:
  conn,addr = server.accept()   # 被動接受TCP連接,一直等待連接到達
  while True:
    data = conn.recv(1024)   # 接收TCP消息,并制定最大長度
    if not data:
      print("連接已斷開")
      break
    conn.send(data.upper())  # 將接收到的數(shù)據(jù)轉(zhuǎn)為大寫在發(fā)回給它
server.close()

  • client端
import socket
client = socket.socket()  # 默認是AF_INET、SOCK_STREAM
client.connect(("localhost",6868))
while True:
  s = input(">>")
  client.send(s.encode("utf-8"))
  data = client.recv(1024)
client.close()

執(zhí)行結(jié)果:

socketserver模塊

使用socketserver實現(xiàn)多并發(fā)

import socketserver
class MyServer(socketserver.BaseRequestHandler):
  def handle(self):
    while True:
      self.data = self.request.recv(1024)
      if not self.data:
        print("%s客戶端連接已斷開"%self.client_address)
        break
      self.request.sendall(self.data.upper())
if __name__ == "__main__":
  server = socketserver.ThreadingTCPServer(("localhost",6969),MyServer)  # 開啟一個線程
  server.serve_forever() 

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • python arcpy練習(xí)之面要素重疊拓撲檢查

    python arcpy練習(xí)之面要素重疊拓撲檢查

    今天小編就為大家分享一篇Python ArcPy的面要素重疊拓撲檢查,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-09-09
  • Tensorflow自定義模型與訓(xùn)練超詳細講解

    Tensorflow自定義模型與訓(xùn)練超詳細講解

    TensorFlow是基于數(shù)據(jù)流編程的符號數(shù)學(xué)系統(tǒng),廣泛用于機器學(xué)習(xí)算法的編程實現(xiàn),前身是谷歌的神經(jīng)網(wǎng)絡(luò)算法庫DistBelief,Tensorflow擁有多層級結(jié)構(gòu),可部署于各類服務(wù)器、PC終端和網(wǎng)頁并支持GPU和TPU高性能數(shù)值計算,被廣泛應(yīng)用于谷歌內(nèi)部的產(chǎn)品開發(fā)和各領(lǐng)域的科學(xué)研究
    2022-11-11
  • 深入理解Python中range和xrange的區(qū)別

    深入理解Python中range和xrange的區(qū)別

    這篇文章主要介紹了深入理解Python中range和xrange的區(qū)別,從用法和輸出等方便詳細介紹了之間的差別。
    2017-11-11
  • Python 使用Opencv實現(xiàn)目標檢測與識別的示例代碼

    Python 使用Opencv實現(xiàn)目標檢測與識別的示例代碼

    這篇文章主要介紹了Python 使用Opencv實現(xiàn)目標檢測與識別的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 如何在 Matplotlib 中更改繪圖背景的實現(xiàn)

    如何在 Matplotlib 中更改繪圖背景的實現(xiàn)

    這篇文章主要介紹了如何在 Matplotlib 中更改繪圖背景的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • django-crontab實現(xiàn)服務(wù)端的定時任務(wù)的示例代碼

    django-crontab實現(xiàn)服務(wù)端的定時任務(wù)的示例代碼

    這篇文章主要介紹了django-crontab實現(xiàn)服務(wù)端的定時任務(wù)的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 從零學(xué)Python之引用和類屬性的初步理解

    從零學(xué)Python之引用和類屬性的初步理解

    Python是一種解釋型、面向?qū)ο?、動態(tài)數(shù)據(jù)類型的高級程序設(shè)計語言。自從20世紀90年代初Python語言誕生至今,它逐漸被廣泛應(yīng)用于處理系統(tǒng)管理任務(wù)和Web編程。Python已經(jīng)成為最受歡迎的程序設(shè)計語言之一。2011年1月,它被TIOBE編程語言排行榜評為2010年度語言。自從2004年以后,python的使用率是呈線性增長。
    2014-05-05
  • pytorch 把圖片數(shù)據(jù)轉(zhuǎn)化成tensor的操作

    pytorch 把圖片數(shù)據(jù)轉(zhuǎn)化成tensor的操作

    這篇文章主要介紹了pytorch 把圖片數(shù)據(jù)轉(zhuǎn)化成tensor的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python中常見的數(shù)制轉(zhuǎn)換有哪些

    Python中常見的數(shù)制轉(zhuǎn)換有哪些

    在本篇文章里小編給大家整理的是一篇關(guān)于Python中常見的數(shù)制轉(zhuǎn)換例舉內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)下。
    2020-05-05
  • python模塊之sys模塊和序列化模塊(實例講解)

    python模塊之sys模塊和序列化模塊(實例講解)

    下面小編就為大家?guī)硪黄猵ython模塊之sys模塊和序列化模塊(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09

最新評論

蒙山县| 梧州市| 聊城市| 永德县| 黑龙江省| 剑川县| 正镶白旗| 固阳县| 房产| 湟中县| 城固县| 五指山市| 防城港市| 祁门县| 太仆寺旗| 图木舒克市| 蕉岭县| 黄石市| 柳林县| 旬阳县| 安多县| 阳朔县| 昌乐县| 皮山县| 丰城市| 盘山县| 曲水县| 靖西县| 临沂市| 富蕴县| 四会市| 达尔| 建瓯市| 黄大仙区| 胶南市| 汾阳市| 星子县| 荣昌县| 黑山县| 河源市| 万山特区|