python socketio例子_使用gevent-socketio和Socket.IO.js的Python瓶子微框架的最小例子

问题:除gevent-socketio和Socket.io.js与bottle一起使用实现this link的示例外,其他类似的解决方案是什么?我正在寻找最小的解决方案,它将简单地将一些流量从客户端传递到服务器,然后使用gevent-socketio,Socket.io.js和瓶子回到客户端。

背景:我开发了一个简单的网络应用程序,为服务器上的远程定制shell(cli)提供基于web的终端。浏览器(客户端)从表单输入字段收集shell命令,通过Web套接字将命令通过gevent.pywsgi.WSGIServer传递给PLACEHOLDER_FOR_CODE_4,PLACEHOLDER_FOR_CODE_4通过geventwebsocket.WebSocketHandler处理程序处理请求,该处理程序将命令提供给shell,同时通过套接字异步返回输出到textarea字段以客户端浏览器的形式显示。这是基于瓶子团队提供的一个很好的例子:

http://bottlepy.org/docs/dev/async.html#finally-websockets

这里提供冗余:

example_server.py:

from bottle import request, Bottle, abort

app = Bottle()

@app.route('/websocket')

def handle_websocket():

wsock = request.environ.get('wsgi.websocket')

if not wsock:

abort(400, 'Expected WebSocket request.')

while True:

try:

message = wsock.receive()

wsock.send("Your message was: %r" % message)

except WebSocketError:

break

from gevent.pywsgi import WSGIServer

from geventwebsocket import WebSocketHandler, WebSocketError

server = WSGIServer(("0.0.0.0", 8080), app,

handler_class=WebSocketHandler)

server.serve_forever()client.html:

var ws = new WebSocket("ws://example.com:8080/websocket");

ws.onopen = function() {

ws.send("Hello, world");

};

ws.onmessage = function (evt) {

alert(evt.data);

};

动机:我现有的应用程序在最新版本的Firefox和Chrome中运行良好。 IE支持不存在,Safari兼容性为middlin'。我最终寻找一个跨浏览器的解决方案来在客户端和服务器之间传递shell命令和输出。如果我有一个瓶子的简单例子,我想我可以更快地前进。

顺便提一下,我查看了gevent-socketio examples甚至a bottle example,但所有这些例子都与上面的简单例子有很大不同,因为我可以在应用程序中实现飞跃。 (gevent-socketio示例看起来不像瓶子应用程序,我熟悉这些应用程序,而瓶子示例实际上并不显示如何与客户端进行通信。)

谢谢! :)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值