私はPythonでsocket.ioの開発に取り掛かっています。私はこれを使用していますlibsocketIo pythonからのイベントの出力
私はthisアンドロイド部分と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アプリからイベントが発生している場合でも動作します。 NodeJsコードで試してみましたが、NodeJsコードで動作していましたので、私のPythonコードで何か問題があると確信しています。誰かが私からこのことを救うことができると願っています。
クライアントコードの関連部分を共有できますか? – Miguel
@Miguel私はこのリンクのサンプルを使用しています - https://github.com/sreejesh79/android-socket.io-server-demo/blob/master/index.js –
あなたはJavaScriptクライアントコードを指摘しました。 Androidクライアントに問題があるとお考えでしたか? – Miguel