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

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

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

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

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

常用的地址家族

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

常見的連接類型

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

socket通信

  • server端
import socket
server = socket.socket()  # 默認是AF_INET、SOCK_STREAM
server.bind(("localhost",6868))   # 將主機號與端口綁定到套接字
server.listen()   # 設置并啟動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ù)轉為大寫在發(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í)行結果:

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() 

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

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

相關文章

  • python arcpy練習之面要素重疊拓撲檢查

    python arcpy練習之面要素重疊拓撲檢查

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

    Tensorflow自定義模型與訓練超詳細講解

    TensorFlow是基于數(shù)據(jù)流編程的符號數(shù)學系統(tǒng),廣泛用于機器學習算法的編程實現(xiàn),前身是谷歌的神經(jīng)網(wǎng)絡算法庫DistBelief,Tensorflow擁有多層級結構,可部署于各類服務器、PC終端和網(wǎng)頁并支持GPU和TPU高性能數(shù)值計算,被廣泛應用于谷歌內(nèi)部的產(chǎn)品開發(fā)和各領域的科學研究
    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)目標檢測與識別的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • 如何在 Matplotlib 中更改繪圖背景的實現(xiàn)

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

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

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

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

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

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

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

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

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

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

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

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

最新評論

澎湖县| 庆元县| 墨江| 阿合奇县| 夏河县| 紫阳县| 满城县| 青川县| 新竹县| 博爱县| 民丰县| 太仓市| 清流县| 当涂县| 富阳市| 无棣县| 上杭县| 九江县| 微博| 福海县| 靖边县| 乌苏市| 荆门市| 枣庄市| 东至县| 和顺县| 关岭| 绥阳县| 衢州市| 大同市| 江孜县| 江都市| 个旧市| 泗阳县| 武宣县| 满洲里市| 金山区| 马关县| 彩票| 淮滨县| 泾源县|