Python利用pywss库实现Websocket
pywss是一种类似Flask开发的WebSocket-Server服务端框架,适用python3.X
一、安装
pip install pywss
二、使用
from pywss import Pyws, route
@route(/websocket)
def my_websocket(request, data):
print(‘客户端发来数据:%s’ % data)
return data + - data from pywss
if __name__ == __main__:
ws = Pyws(__name__, address=127.0.0.1, port=8888)
ws.serve_forever()
html:
<!DOCTYPE html>
<html>
<head>
<title>django-websocket</title>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript">//<![CDATA[
$(function () {
$(#connect_websocket).click(function () {
if (window.s) {
window.s.close()
}
/*创建socket连接*/
var socket = new WebSocket("ws://127.0.0.1:8888/websocket");
socket.onopen = function () {
console.log(WebSocket open);//成功连接上Websocket
};
socket.onmessage = function (e) {
console.log(message: + e.data);//打印出服务端返回过来的数据
$(#messagecontainer).prepend(<p> + e.data + </p>);
};
// Call onopen directly if socket is already open
if (socket.readyState == WebSocket.OPEN) socket.onopen();
window.s = socket;
});
$(#send_message).click(function () {
//如果未连接到websocket
if (!window.s) {
alert("websocket未连接.");
} else {
window.s.send($(#message).val());//通过websocket发送数据
}
});
$(#close_websocket).click(function () {
if (window.s) {
window.s.close();//关闭websocket
console.log(websocket已关闭);
}
});
});
//]]></script>
</head>
<body>
<br>
<input type="text" id="message" value="Hello, World!"/>
<button type="button" id="connect_websocket">连接 websocket</button>
<button type="button" id="send_message">发送 message</button>
<button type="button" id="close_websocket">关闭 websocket</button>
<h1>Received Messages</h1>
<div id="messagecontainer">
</div>
</body>
</html>
