Почему сервер Python socket-io работает с JavaScript, но не с Android Studio

#javascript #python #java #socket.io #flask-socketio

Вопрос:

В настоящее время я запускаю сервер Python Flask-SocketIO, который идеально подключается к моему клиенту JavaScript. Я использую приложение для чата на примере Android socketio для написания кода Android, сервер Python, к которому он не подключается.

Как я могу подключиться к серверу Ptyhon Flask-SocketIO с Android?

Код для Android:

 public class MainActivity extends AppCompatActivity {   private Socket mSocket;  {  try {  mSocket = IO.socket("http://127.0.0.1:420");  } catch (URISyntaxException e) {  System.out.println(e);  }  }    @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);   mSocket.connect();   String mUsername = "FatCat";  String message = "Hallo";  mSocket.emit("new_message", "{"username": ""   mUsername   "", "message":""  message  ""}");  }   @Override  public void onDestroy() {  super.onDestroy();   mSocket.disconnect();  } }  

Код JavaScript:

 lt;script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.0.1/socket.io.js" integrity="sha512-q/dWJ3kcmjBLU4Qc47E4A9kTB4m3wuTY7vkFJDTZKjTs8jhyGQnaUrxa0Ytd0ssMZhbNua9hE E7Qv1j DyZwA==" crossorigin="anonymous"gt;lt;/scriptgt;   lt;script type="text/javascript" charset="utf-8"gt;  var socket = io("http://127.0.0.1:420");  socket.on('connect', function() {  socket.emit('new_message', {username: "FatCat", message:"gg"});  });  lt;/scriptgt;  

Код на Python:

 app = Flask(__name__) app.config["SECRET_KEY"] = "key" socketio = SocketIO(app)  @app.route("/") def index():  return render_template("x.html")  @socketio.event def connect():  print("connected")  @socketio.event def new_message(data):  print({"username": data["username"], "message": data["message"]})  socketio.emit("new_message", {"username": data["username"], "message": data["message"]})  @socketio.on("new_message") def new__message(data):  print("on")  print({"username": data["username"], "message": data["message"]})  socketio.emit("new_message", {"username": data["username"], "message": data["message"]})  @socketio.event def disconnect():  print("disconnected")  if __name__ == "__main__":  socketio.run(app, port=420,debug=True)  

Ошибки нет, но она ничего не отправляет на сервер.

Комментарии:

1. Опорный разъем. Реализация ввода-вывода-это реализация JavaScript, поэтому я проверяю это. Используемый вами клиент Android может быть несовместим с версией Socket. Ввод-вывод, который вы используете на сервере. Проверьте журналы сервера, чтобы узнать, есть ли какие-либо подсказки.

2. Хорошо, я сделаю это!