简单使用
一、Flask服务端
1.1 安装 flask-socketio
pip install flask-socketio
1.2 使用Flask和flask_socketio
from flask import Flask #导入flask
from flask_socketio import SocketIO #导入SocketIO
my_app=Flask(__name__) #创建Flask的APP对象
my_socketio = SocketIO(my_app) #创建socketio对象,并且将APP和socketio对象绑定
#为my_socketio绑定消息监听
@my_socketio.on('1',namespace='/io/publish_data1') #在当前机器的URL为:'/io/publish_data1'的地方监听类型为“1”的socket消息,收到消息之后就用log1方法进行处理
def log1(data):
print(data) # 输出收到的消息体
emit('1',{'code':'200','msg':"11111111111111111"}) # 回复类型为“1”的消息体给客户端
emit('1',{'code':'200','msg':"23213421414124"}) # 再回复类型为“1”的消息体
#添加APP基本配置
my_app.debug = True # 为APP添加基本配置参数,开启debug参数
my_app.config['SECRET_KEY'] ="afsafdaffafafassadfafer3qr34re" # 设置key以便使用session
# 启动。
# 使用socketio启动APP对象(socketio的run方法实现了Flask的APP对象的run方法,
# 所以可以替代my_app.run())
my_socketio.run(my_app,host='0.0.0.0', port=5001)
二、客户端(JS方式)
2.1 导入socketio的JS文件
A、下载地址见:https://download.youkuaiyun.com/download/gaitiangai/11851827
B、下载完毕将文件放入项目的js目录下。
2.2 客户端代码
function get_publish_data1(){
var url = "/io/publish_data1"; // 需要与上面定义的时候URL一致
var my_socketio_client = io.connect(url); //创建socketio连接对象,连接服务器
my_socketio_client.emit("1",{"hahaha":"i am 111111"}); //给该接口发送类型为"1"的json消息体
my_socketio_client.on("1",function(e){//注册服务器答复消息的处理函数。使用这个方法处理处理来自上面绑定的URL的类型为“1”的消息。
console.log("1111111111111");
console.log(e);
});
}
get_publish_data1();