python通过twisted搭建socket服务介绍
服务端
# -*- coding: utf-8 -*-
# @Time : 2018/9/19 21:41
# @Author : cxa
# @File : tsTservTW.py
# @Software: PyCharm
'''
Twisted Reactor时间戳TCP服务器
'''
from twisted.internet import protocol, reactor
from time import ctime
import msgpack
PORT = 21567
class TSServProtocol(protocol.Protocol):
def connectionMade(self):
'''
当客户端连接的时候会执行该方法
:return:
'''
clnt = self.clnt = self.transport.getPeer().host
print(f"...来自的{clnt}链接:")
def dataReceived(self, data):
'''
接收到客户端的数据
:param data:
:return:
'''
print(f"来自客户端:{msgpack.unpackb(data,encoding='utf')}")
data = f"{ctime()}:来自服务器:你好"
self.transport.write(msgpack.packb(data))
if __name__ == '__main__':
# 创建一个协议工厂,之所以称之为工厂是因为,每次得到一个
# 接入连接时,都能"制造"协议的一个实例。
factory = protocol.Factory()
factory.protocol = TSServProtocol
print("....等待链接..")
# 使用reactor安装一个TCP监听器,检查服务请求。
# 当它接收到一个请求时,就会创建一个TSServProtocol实例来处理那个客户端的事务。
reactor.listenTCP(PORT, factory)
reactor.run()
客户端
# -*- coding: utf-8 -*-
# @Time : 2018/9/19 21:57
# @Author : cxa
# @File : tsTclntTW.py
# @Software: PyCharm
'''
创建Twisted Reactor TCP客户端
'''郑州妇科医院 http://www.120zzkd.com/
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'...发送数据 {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()
- python如何通过twisted搭建socket服务
- python使用twisted搭建的一个socket服务
- python模块介绍- SocketServer 网络服务框架
- python模块介绍- SocketServer 网络服务框架
- python模块介绍- SocketServer 网络服务框架
- python快速搭建http服务
- ChartDirector 5.0 for python 笔记【1】环境介绍和搭建
- Spring 4+Stomp WebSocket+RabbitMQ 3.6.5+Tomcat 8搭建WebSocket服务
- 通过shell脚本来搭建python开发环境
- 怎么通过邮箱发超大附件?介绍一种基于云服务的方法
- 使用 python -m SimpleHTTPServer 快速搭建http服务
- hwcloud-通过华为云镜像服务创建ECS-镜像服务介绍与安装Redhat6.8
- Windows Server 2012R2 IIS服务介绍及搭建
- flex与twisted通过socket通信
- python实现探测socket和web服务示例
- day09__Python的Socket协议介绍
- apache基本配置管理一:apache服务介绍,以及简单搭建
- python通过socket查询whois的方法
- python socket编程详细介绍
- 树莓派通过socket传输图片流-Python