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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

什么是Twisted?网络引擎?

發(fā)布時間:2023/12/3 综合教程 67 生活家
生活随笔 收集整理的這篇文章主要介紹了 什么是Twisted?网络引擎? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

簡介

Twisted是基于事件驅(qū)動的網(wǎng)絡引擎框架,支持Python2.7和3.3+。它包括很多不同的模塊,如:

  • twisted.web:HTTP客戶和服務端,HTML模板,和一個WSGI服務器
  • twisted.conch:基于SSHv2和Telnet協(xié)議的的客戶端,服務器和終端模擬器
  • twisted.words:基于IRC,XMPP和其他IM協(xié)議的客戶端和服務器
  • twisted.mail:基于IMAPv4,POP3,SMTP的客戶端和服務器
  • twisted.positioning:和NMEA(國際海上電子協(xié)會)兼容的GPS接收者通信的工具
  • twisted.names:DNS客戶端和工具可用于構(gòu)建自己的DNS服務器
  • twisted.trial:和基于Twisted的代碼高度整合的單元測試框架

twisted支持所有主流的事件輪詢機制:select(所有平臺)、poll(大部分POSIX平臺)、epoll(Linux)、kqueue(FreeBSD,OSX)、OCP(Windows)和各種GUI事件輪詢機制(GTK+2/3、QT、wxWidgets)。第三方的reactors也可以加入到twisted中來支持額外的事件輪詢機制。

代碼示例

  • 回聲服務器

Twisted可以輕松實現(xiàn)自定義網(wǎng)絡應用程序。這是一個TCP服務器,它回顯寫入它的所有內(nèi)容:

來自 twisted.internet  導入協(xié)議, reactor ,端點class  Echo (協(xié)議協(xié)議):def  dataReceived (self , data ):self 運輸寫(數(shù)據(jù)) EchoFactory (協(xié)議廠):DEF  buildProtocol (自,地址):返回回聲()端點serverFromString ( reactor , “tcp:1234” )listen ( EchoFactory ()) 
reactor run ()

建議詳細內(nèi)容去看官方開發(fā)平臺https://twistedmatrix.com/documents/current/core/examples/

示例

簡單的Echo服務器和客戶端

  • simpleclient.py?- 簡單的TCP客戶端
  • simpleserv.py?- 簡單的TCP echo服務器

聊天

  • chatserver.py?- 顯示如何在客戶端之間進行通信

回聲服務器和客戶端變體

  • echoserv.py?- 簡單TCP回送服務器上的變體
  • echoclient.py?- 簡單TCP客戶端上的變體
  • echoserv_udp.py?- 最簡單的UDP服務器
  • echoclient_udp.py?- 簡單的UDP客戶端
  • echoserv_ssl.py?- 簡單的SSL服務器
  • echoclient_ssl.py?- 簡單的SSL客戶端

AMP服務器和客戶端變體

  • ampserver.py?- 使用AMP做數(shù)學
  • ampclient.py?- 使用AMP做數(shù)學

透視經(jīng)紀人

  • pbsimple.py?- 最簡單的PB服務器
  • pbsimpleclient.py?- 最簡單的PB客戶端
  • pbbenchclient.py?- 基準客戶
  • pbbenchserver.py?- 基準測試服務器
  • pbecho.py?- 使用登錄的echo服務器
  • pbechoclient.py?- 使用登錄回顯客戶端
  • pb_exceptions.py?- PB上的例外情況
  • pbgtk2.py?- 將GTK2與PB一起使用的示例
  • pbinterop.py?- 展示PB支持的各種類型
  • bananabench.py?- 香蕉基準

信用

  • cred.py?- 使用內(nèi)存中的用戶名/密碼數(shù)據(jù)庫對用戶進行身份驗證
  • dbcred.py?- 使用數(shù)據(jù)庫后端對用戶進行身份驗證

GUI?

  • wxdemo.py?- wxPython與Twisted集成的演示
  • pbgtk2.py?- 將GTK2與PB一起使用的示例
  • pyuidemo.py?- PyUI

FTP示例

  • ftpclient.py?- 使用FTP客戶端的示例
  • ftpserver.py- 創(chuàng)建一個FTP服務器,為工作目錄中的匿名用戶提供文件,并為經(jīng)過身份驗證的用戶提供文件/home

記錄

  • twistd-logging.tac?- 使用ILogObserver的日志示例
  • testlogging.py?- 使用twisted.python.log將錯誤記錄到標準輸出
  • rotatinglog.py?- 日志文件輪換的示例

POSIX特定技巧

  • sendfd.pyrecvfd.py- 通過UNIX域套接字發(fā)送和接收文件描述符

雜項

  • shaper.py?- 限制Web服務器速率的示例
  • stdiodemo.py?- 使用stdio,Deferreds,LineReceiver和twisted.web.client的示例。
  • ptyserv.py?- 通過TCP在偽終端中提供shell
  • courier.py?- 與Courier郵件過濾器界面連接的示例
  • longex.py?- 在Twisted中很好地進行任意長時間計算的示例
  • longex2.py?- 使用發(fā)電機進行長時間的計算
  • stdin.py?- 從標準輸入一次讀取一條線而不阻塞反應器
  • streaming.py?- 推送生產(chǎn)者/消費者系統(tǒng)的示例
  • filewatch.py?- 一次將一行文件的內(nèi)容寫入標準輸出
  • shoutcast.py?- 示例Shoutcast客戶端
  • wxacceptance.py?- wxreactor的驗收測試
  • postfix.py?- 測試PostfixTCPMapServer的應用程序
  • udpbroadcast.py?- 使用UDP進行廣播
  • tls_alpn_npn_client.py?- 使用NPN和ALPN在客戶端進行TLS下一協(xié)議協(xié)商的示例。
  • tls_alpn_npn_server.py?- 使用NPN和ALPN在服務器端進行TLS下一協(xié)議協(xié)商的示例。

總結(jié)

以上是生活随笔為你收集整理的什么是Twisted?网络引擎?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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