1
noli 2015-02-08 02:25:59 +08:00
gevent?
|
2
dcoder 2015-02-08 02:28:19 +08:00
做 web python 是不如 node
|
3
mkeith 2015-02-08 02:55:20 +08:00
楼主你要做什么东西啊?
就是websocket,commet,长连接几个 |
4
yanke 2015-02-08 03:00:04 +08:00
faye ?
|
5
yangzh 2015-02-08 07:09:55 +08:00 via iPhone
|
7
esyed 2015-02-08 09:35:55 +08:00
楼主用ruby吧:)
|
8
aec4d 2015-02-08 11:19:52 +08:00
Flask-SocketIO 仅兼容socket.io 0.9.X
autobahn |
9
icylogic 2015-02-08 11:41:37 +08:00 via Android
你觉得吊在哪里啊。。。 tornado + websocket 不就行了
|
10
fy OP |
11
yangzh 2015-02-08 14:08:09 +08:00
|
13
Smartype 2015-02-08 15:00:51 +08:00
@yangzh from gevent.monkey import patch_all; patch_all(),使用coroutine的方式。也是异步回调的无痛实现。要异步的方式写异步的话,可以试试twisted
|
14
fy OP 楼主回来了……搞了好久这玩意,蛋都碎了。
然而又弄了一圈,还是发现没有任何一个可用的库。 于是楼主找socketio的类似实现,看到有个叫SockJs的 最后楼主看到这个库:django-websocket-request 看了看名字,django,并且是使用SockJS的库 结果TMD弄下来demo一看,发现是加载了django的配置文件,其实是跑在tornado上头的!!!! 这差不多就是个sockjs.tornado的demo啊!! 最后楼主呵呵一笑,机智的强行在tornado上架了一个django wsgi,终于用上了这个功能。 |
15
gamexg 2015-02-08 22:59:04 +08:00
也在比较推送方案
看到python 与 socket.io 之间通信有 https://github.com/ziyasal/socket.io-python-emitter 使用官方的接口,但是需要 redis ,不想为了通信而在运行一个 redis 了。 https://github.com/invisibleroads/socketIO-client socket.io python客户端库 更新日期也不晚,看接口比较适合我这种轻度使用的情况。 https://github.com/evanw/socket.io-python socket.io 的服务器库,是通过启动一个nodejs socket.io 然后与 python tcp 通信实现的,最后更新日期4年前... https://github.com/abourget/gevent-socketio python gevent 实现的 socket.io 客户端,最后更新日期2014年2月,很想用这个,但是怕碰到兼容问题。 https://github.com/nkzawa/socket.io-client.java socket.io java 客户端库,android 上面用正好。 |
16
jamiesun 2015-02-09 00:58:53 +08:00
|
17
fy OP @gamexg 据我当时观察,这些库基本都是依赖gevent-socketio的。但是gevent-socketio半死不活。而且很多库都有诡异的兼容性问题,依赖的数个库都只能用一个特定版本,甚至这种情况下还会出问题,兼容性太差了。
其实后来看了文档,可以直接上gevent也行的,但只能是要么长连接要么websocket,对比整合到一块的socketio或者SockJs差的太远了,就放弃了。 |
18
fy OP 大概Web时代,半年不更新的库都不是很可靠了……
像是django这种更加丧心病狂的,更新一个版本号,变化大成狗了…… |
19
ltttx 2015-02-10 09:09:50 +08:00
尝试过 flask-socketio,也是基于gevent-socketio。结论是不可用,结果还是用socket.io实现了服务端。
|
20
gamexg 2015-02-10 10:50:47 +08:00
|
23
mathgl 2015-02-23 23:12:47 +08:00
@jamiesun pypy在win32也可以加速twisted, 原来只能用select reactor. iocp reactor因为当时是cython写的,pypy没法支持。现在就不懂了。
|