我被困在与Python的socket.io开发。我正在使用此lib从socketIo发射事件python
我有一个使用this android部件和lib示例运行的聊天应用程序。我想从一个单独的文件从服务器端触发一个事件。这是我的代码。
import socketio
import eventlet
from flask import Flask, render_template
sio = socketio.Server(logger=True, async_handlers= True)
app = Flask(__name__)
eventlet.monkey_patch()
@sio.on('connect', namespace='/d')
def connect(sid, environ):
print('connect ', sid)
pass
@sio.on('messaget', namespace='/d')
def messaget(sid, data):
print('message ', data)
# sio.emit('messaget', data, namespace='/d')
# sendmsg("YO YO")
@sio.on('disconnect', namespace='/d')
def disconnect(sid):
print('disconnect ', sid)
def start_socket(app):
# wrap Flask application with socketio's middleware
app = socketio.Middleware(sio, app)
eventlet.wsgi.server(eventlet.listen(('', 8000)), app)
def sendmsg(data):
my_data= { 'text': data };
sio.emit('messaget', my_data, namespace='/d')
start_socket(app)
我从我的另一个Python文件调用sendmsg("dipen")
。我得到一个日志发送事件“messaget”到所有[/ d]但android应用程序没有得到任何消息。如果事件是从Android应用发出的,它就会工作。我尝试了NodeJs代码,它为NodeJs代码工作,所以我很确定我的Python代码中有什么错误。希望有人能救我。
你能分享你的客户代码的相关部分吗? – Miguel
@Miguel我从这个链接使用示例 - https://github.com/sreejesh79/android-socket.io-server-demo/blob/master/index.js –
你指着我一个JavaScript客户端代码。你不是说你对Android客户端有问题吗? – Miguel