1
zoowii 2013-12-22 23:32:22 +08:00
感觉好古老的东西啊,
|
2
zoowii 2013-12-22 23:33:16 +08:00
和gevent, tornado相比有什么优势吗?
|
3
zenliver 2013-12-23 00:13:08 +08:00
twisted make you twisted
|
4
zhangxiao 2013-12-23 00:17:45 +08:00
感觉twisted对callback的封装很好,后来用nodejs和scala的finagle感觉都不如twisted那么简练
|
5
jjx 2013-12-23 08:35:20 +08:00
twisted 完全是java风格的,那些说python不适合大型项目的真应该看看twsited
现在的twisted, 稳是我对他的最大印象, 其次,pypy下表现很好 |
6
jjx 2013-12-23 08:55:00 +08:00
我主要是用在工业仪表数据采集,有使用tcp server/serial/gsm等通讯模式
|
7
JohnDeng 2013-12-23 17:19:53 +08:00
twisted来写TCP比较多吧。
|
10
myrual 2013-12-24 22:56:55 +08:00
如果基于tcp和udp协议设计应用的话非常顺手,基本上网络通讯你需要关心的业务逻辑都在一个类里面写就够了。
缺点是你不能在处理逻辑里面sleep,或者出现阻塞操作,如果要处理延时或者block的操作,要用twisted的高级特性,但是我真的不懂高级特性。 个人建议如果是基于tcp或者udp设计服务,不如试试go,性能很好,代码好写,坑少一些。 |
11
jjx 2013-12-25 10:04:23 +08:00
@myrual 几百个客户端也直接写在里面也没有事情, 几k 就要考虑分离进程了, 我用txzmq将实际的逻辑分离到多个woker, 但有时为了部署简单,也有直接在twisted里面跑的.
@gcweb 我做的是一个通用的电压监测仪采集平台, 目前支持10来种国内厂家的电压监测仪. 仪表各种通讯方式都有udp,tcp, gsm,串口,tcp转串口等. 前端是一个pyzmq程序接受web请求, 后端是twisted +txzmq +worker(一表一服务,通常有多个服务跑), 还有一个zmq订阅服务将数据转发到前端, windows 上也有部署, 使用的是iocpreactor, twisted大概是python中少有的支持icop的框架之一了吧. 总之twisted部分就是非常稳定. |
12
F0ur 2013-12-25 10:55:17 +08:00
几年前用过twisted写过棋牌类游戏服务端。。觉得挺好用的
|
14
Jordan 2013-12-27 22:22:01 +08:00
很稳定的一个框架,曾在上面写过一堆程序,在WIN下面调试完直接扔在AIX/HP-UX上跑,一点问题都没有。
异步机制基于callback,只要不用callback-chain还好,否则还是自己先看一次deferred的代码,搞懂里面callback-chain的处理机制,会用的安心点。 性能比不上gevent,特别是在高并发下。win下安装倒是方便,官网有编译好的exe包。 如果程序要长期跑在win下,可以考虑。 自从我用了Macbook后,就没碰过twisted,改用gevent,性能更好。 |
15
pynix 2018-01-14 00:42:19 +08:00
java 那帮人写出来恶心 python 的吧?
|