草庐IT

Blask-Socketio

全部标签

django - Flask-socketio 实例不从外部进程发出 (Django)

你好,我正在尝试从外部python应用程序(django)发送到flask-socketIO,但不幸的是它没有发送。我已经将我的flask-socket应用程序定义如下:app.register_blueprint(views)socketio.init_app(app,message_queue='redis://127.0.0.1:6380')我的看法如下:fromflaskimportrender_templatefrom..importsocketiofromAppimportsocketiofromApp.viewsimportviewsfromflask_socketioi

使用 eventlet 和 Redis 进行 Flask socketio 调试会产生额外的 greenthreads?

我正在尝试组装一个订阅Redis事件的简单Flask/socketio/eventlet服务器。我看到的行为是,在启用Flask调试的情况下,每次Werkzeug检测到更改并重新启动socketio时,我的另一个redis监听器也会启动(旧监听器不会退出)。这是一个删除了所有socketio处理程序的工作版本:importjsonfromflaskimportFlask,render_templatefromflask_socketioimportSocketIO,emitfromflask.ext.redisimportFlaskRedisimporteventleteventlet

python - 确保使用 flask-socketio、redis 发送套接字消息

我有一个在多个pod上运行的flask-socketio服务器,使用redis作为消息队列。我想确保从外部进程发出的信号在100%的时间内到达目的地,或者知道它们何时失败。当进程A向连接到进程B的套接字发出事件时,该事件通过消息队列到达进程B,到达客户端。有什么办法可以拦截进程B上的传出发射?理想情况下,我会在几秒钟后使用工作人员检查消息是否到达客户端(通过客户端发出的确认事件),或者它会再次发出。此代码在进程A上运行:@app.route('/ex')defex_route():socketio.emit('external',{'text':f'sender:{socket.get

go - 无法使命名空间在 go-socketio 中工作

我正在使用https://github.com/googollee/go-socket.io创建一个socket.io服务器。我正在尝试创建一个命名空间,但无法从客户端连接到该命名空间。服务器:funcregisterHandlers(server*socketio.Server){server.Of("room1").On("connection",connectionHandler)}funcconnectionHandler(sosocketio.Socket){log.Println("onconnection")so.Join("chat")so.On("chatmessag

node.js - SocketIo.use(function(socket, next)) - 下一步去哪里,如何捕获或接收它?

我找到了使用socket.IO1.*widthExpress4的示例。这里是link一切都很完美。但是有一个代码:io.use(function(socket,next){try{vardata=socket.handshake||socket.request;if(!data.headers.cookie){returnnext(newError('Missingcookieheaders'));}console.log('cookieheader(%s)',JSON.stringify(data.headers.cookie));varcookies=cookie.parse(da

node.js - Passport.SocketIo - 如何使用 NodeJS、Express 和 Passport 获取在线用户列表

我用MongoStore完成sessionStore每次登录都正确执行,session被写入数据库而没有错误。我正在使用这个包github.com/jfromaniello/passport.socketio将Passport与套接字io对齐,但我已经寻找了几个关于登录后如何处理sessionStorage的地方,因此它列出了哪些用户的姓名在线和离线,可以告诉我一个灯这个?app.jsvarexpress=require('express');varmongoose=require('mongoose');varpath=require('path');varbodyParser=re

javascript - 将 0.9.16 升级到 1.3.5 时,带有回调的 SocketIO 发出失败

在0.9.16中,我将socket.emit与回调一起使用,以便聊天服务器返回一些数据,并且我可以根据确认处理结果。但升级到1.3.5后,我发现控制台出现这样的错误UncaughtTypeError:Cannotreadproperty'apply'ofundefined.我做过类似的事情,来自网络socket.emit('userToUser',{'usename':'John','message':'hi'},function(callback){//callbackhandled});聊天服务器socket.on('userToUser',function(content,cal

javascript - Dart Nodejs 和 Socketio

将socketionodejs应用程序转换为dart有哪些选择?是否以某种方式支持使用dart的nodejs服务器(理想情况下具有dart编辑器的所有花哨的调试功能)?socketio有基于dart的库吗? 最佳答案 Dart有一个服务器端VM,就像V8有一个node.js形式的服务器端VM。看看亚当斯密的webserverchatsample,它使用服务器端的websockets与客户端的websockets通信,这两个部分都是用Dart编写的。服务器端的关键部分如下所示:import"dart:io";main(){HttpSe

node.js - 使用 socketio 心跳的优点/缺点

Socket.io允许您使用心跳来“检查Socket.IO连接的健康状况”。心跳到底是什么?为什么应该或不应该使用它们? 最佳答案 心跳是从客户端定期发送到服务器(或从服务器到客户端并返回到服务器)的小消息,以确认客户端仍然存在并且处于事件状态。例如,如果您有一个Node.js应用程序为聊天室服务,而用户在几分钟内没有说任何话,则无法判断他们是否真的仍然处于连接状态。通过以预定的时间间隔(例如,每15秒)发送一次心跳,客户端通知服务器它仍然存在。如果是例如自从服务器收到来自客户端的心跳20秒后,它可能已断开连接。这是必要的,因为您c

python - 在线程中使用 Popen 会阻塞每个传入的 Flask-SocketIO 请求

我有以下情况:我在socketio服务器上收到一个请求。我回答它(socket.emit(..)),然后然后在另一个线程中开始计算负载繁重的东西。如果繁重的计算是由subprocess.Popen(使用subprocess.PIPE)引起的,只要它正在执行,它就会完全阻止每个传入的请求,尽管它发生在一个单独的线程。没问题-在thisthread建议异步读取缓冲区大小为1的子进程的结果,以便在这些读取之间其他线程有机会做某事。不幸的是,这对我没有帮助。我也已经monkeypatchedeventlet并且工作正常-只要我不在线程中使用subprocess.Popen和subprocess