python如何通過twisted搭建socket服務(wù)
更新時間:2020年02月03日 08:55:30 作者:一起來學(xué)python
這篇文章主要介紹了python如何通過twisted搭建socket服務(wù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
這篇文章主要介紹了python如何通過twisted搭建socket服務(wù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
服務(wù)端
# -*- coding: utf-8 -*- # @Time : 2018/9/19 21:41 # @Author : cxa # @File : tsTservTW.py # @Software: PyCharm ''' Twisted Reactor時間戳TCP服務(wù)器 ''' from twisted.internet import protocol, reactor from time import ctime import msgpack PORT = 21567 class TSServProtocol(protocol.Protocol): def connectionMade(self): ''' 當(dāng)客戶端連接的時候會執(zhí)行該方法 :return: ''' clnt = self.clnt = self.transport.getPeer().host print(f"...來自的{clnt}鏈接:") def dataReceived(self, data): ''' 接收到客戶端的數(shù)據(jù) :param data: :return: ''' print(f"來自客戶端:{msgpack.unpackb(data,encoding='utf')}") data = f"{ctime()}:來自服務(wù)器:你好" self.transport.write(msgpack.packb(data)) if __name__ == '__main__': # 創(chuàng)建一個協(xié)議工廠,之所以稱之為工廠是因為,每次得到一個 # 接入連接時,都能"制造"協(xié)議的一個實例。 factory = protocol.Factory() factory.protocol = TSServProtocol print("....等待鏈接..") # 使用reactor安裝一個TCP監(jiān)聽器,檢查服務(wù)請求。 # 當(dāng)它接收到一個請求時,就會創(chuàng)建一個TSServProtocol實例來處理那個客戶端的事務(wù)。 reactor.listenTCP(PORT, factory) reactor.run()
客戶端
# -*- coding: utf-8 -*- # @Time : 2018/9/19 21:57 # @Author : cxa # @File : tsTclntTW.py # @Software: PyCharm ''' 創(chuàng)建Twisted Reactor TCP客戶端 ''' from twisted.internet import protocol, reactor import msgpack HOST = 'localhost' PORT = 21567 class TSClntProtocol(protocol.Protocol): def sendData(self): data = input('>') if data: print(f'...發(fā)送數(shù)據(jù) {data}') self.transport.write(msgpack.packb(data)) else: self.transport.loseConnection() def connectionMade(self): self.sendData() def dataReceived(self, data): print(msgpack.unpackb(data, encoding="utf8")) self.sendData() class TSClntFactory(protocol.ClientFactory): protocol = TSClntProtocol clientConnctionLost = clientConnctionFailed = lambda self, connector, reason: reactor.stop() if __name__ == '__main__': reactor.connectTCP(HOST, PORT, TSClntFactory()) reactor.run()
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Python3.6中Twisted模塊安裝的問題與解決
- python安裝twisted的問題解析
- python如何通過twisted實現(xiàn)數(shù)據(jù)庫異步插入
- python基于twisted框架編寫簡單聊天室
- python 編程之twisted詳解及簡單實例
- Python 基于Twisted框架的文件夾網(wǎng)絡(luò)傳輸源碼
- 剖析Python的Twisted框架的核心特性
- 實例解析Python的Twisted框架中Deferred對象的用法
- 詳解Python的Twisted框架中reactor事件管理器的用法
- 使用Python的Twisted框架編寫非阻塞程序的代碼示例
- Python的Twisted框架中使用Deferred對象來管理回調(diào)函數(shù)
- 使用Python的Twisted框架構(gòu)建非阻塞下載程序的實例教程
- Python的Twisted框架上手前所必須了解的異步編程思想
- 使用Python的Treq on Twisted來進行HTTP壓力測試
- 利用Python的Twisted框架實現(xiàn)webshell密碼掃描器的教程
- 使用Python的Twisted框架實現(xiàn)一個簡單的服務(wù)器
- 使用Python的Twisted框架編寫簡單的網(wǎng)絡(luò)客戶端
- python開發(fā)實例之Python的Twisted框架中Deferred對象的詳細用法與實例
相關(guān)文章
Win10下安裝并使用tensorflow-gpu1.8.0+python3.6全過程分析(顯卡MX250+CUDA9.
這篇文章主要介紹了Win10下安裝并使用tensorflow-gpu1.8.0+python3.6全過程(顯卡MX250+CUDA9.0+cudnn),本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02在keras中實現(xiàn)查看其訓(xùn)練loss值
這篇文章主要介紹了在keras中實現(xiàn)查看其訓(xùn)練loss值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06