作者:air12345 | 来源:互联网 | 2022-12-23 23:36
手机上QPython环境的安装过程很简单(直接安装QPython的APK就行了),在此不再赘述。QPython中安装ws4py模块:从https:pypi.python.o
手机上QPython环境的安装过程很简单(直接安装QPython的APK就行了),在此不再赘述。
QPython中安装ws4py模块:
- 从
https://pypi.python.org/pypi/ws4py
上下载最新的代码包(下载列表中后缀为.tar.gz
的文件)。
- 打开下载的压缩包,进入根目录后,找到名为
ws4py
的目录,然后将该目录解压到手机内存中的com.hipipal.qpyplus/lib/python3.2/site-packages/
目录中。
测试WebSocket服务器是否正常工作:
将以下测试代码保存为WebSocket_Demo.py
,然后将WebSocket_Demo.py
复制到手机内存中的com.hipipal.qpyplus/scripts3/
目录中。
#-*-coding:utf8;-*-
#qpy:3
#qpy:webapp:WebSocket Demo
#qpy://127.0.0.1:4001/
INDEX_HTML = '''
'''
# WebSocket Server Part
import os, time, threading;
from datetime import datetime;
from wsgiref.simple_server import make_server;
from ws4py.websocket import WebSocket;
from ws4py.server.wsgirefserver import WSGIServer, WebSocketWSGIRequestHandler;
from ws4py.server.wsgiutils import WebSocketWSGIApplication;
def ThreadWebSocketServer(port):
class MyWebSocket(WebSocket):
__active = True;
def opened(self):
while self.__active:
self.send(datetime.now().strftime('%H:%M:%S.%f'));
time.sleep(0.2);
def closed(self, code, reason = None):
self.__active = False;
server = make_server('', port,
server_class=WSGIServer,
handler_class=WebSocketWSGIRequestHandler,
app=WebSocketWSGIApplication(handler_cls=MyWebSocket));
server.initialize_websockets_manager();
server.serve_forever();
threadWebSocketServer = threading.Thread(target=ThreadWebSocketServer, args=(4002,));
threadWebSocketServer.setDaemon(True);
threadWebSocketServer.start();
# HTTP Server Part
from bottle import route, run, static_file;
@route('/')
def index():
return INDEX_HTML;
try:
run(host='', port=4001);
except KeyboardInterrupt:
pass;
然后打开手机中的QPython,单击“程序”,然后在“脚本”一栏中选择WebSocket_Demo.py
,再单击“运行”。
等待一段时间后,当看到如下图所示效果,并且WebView中的时间在快速更新时,即表示ws4py
模块安装成功,并且手机上的WebView支持WebSocket。