Почему сервер Socket.io не получает соединение от клиента студии Android?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Почему сервер Socket.io не получает соединение от клиента студии Android?

Сообщение Anonymous »


Я застрял в попытке установить соединение между моим сервером socket.io на узле js (socket.io версии: 4.7.2) и студией Android (сокет версии: 2.0.0), может ли кто-нибудь помочь решить эту проблему? Когда я обновляю активность, на сервере ничего не происходит

сервер:

const express = require('express'); //требуется экспресс-модуль const сокет = require('socket.io'); //требуется модуль Socket.io const fs = require('fs'); константное приложение = экспресс(); вар ПОРТ = процесс.env.PORT || 3000; константный сервер = app.listen(ПОРТ); //сообщает разместить сервер на localhost:3000 //Играем в переменные: app.use(express.static('public')); //показываем статические файлы в «публичном» каталоге console.log('Сервер работает'); const io = сокет (сервер); //Соединение Socket.io ------------------ io.on('соединение', функция(сокет) { console.log('Клиент подключен.'); // Отключаем прослушиватель сокет.on('отключить', функция() { console.log('Клиент отключен.'); }); }); клиент: SocketHandler.kt

импортировать io.socket.client.IO импортировать io.socket.client.Socket импортировать java.net.URISyntaxException объект SocketHandler { lateinit var mSocket: Сокет @Синхронизировано весело setSocket() { пытаться { // «http://10.0.2.2:3000» — это сеть, которую ваш эмулятор Android должен использовать для подключения к локальной сети на вашем компьютере. // "http://localhost:3000/" не будет работать // Если вы хотите использовать свой физический телефон, вы можете использовать свой IP-адрес плюс: 3000 // Это позволит вашему эмулятору Android и физическому устройству у вас дома подключиться к серверу. mSocket = IO.socket("http://0.0.0.0:3000") } catch (e: URISyntaxException) { } } @Синхронизировано весело getSocket(): Socket { вернуть mSocket } @Синхронизировано весело установитьConnection() { мсокет.connect() } @Синхронизировано весело closeConnection() { mSocket.disconnect() } } Код активности

импортировать android.content.Intent импортировать androidx.appcompat.app.AppCompatActivity импортировать android.os.Bundle импортировать android.widget.TextView класс MainActivity : AppCompatActivity() { переопределить fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView (R.layout.activity_main) * SocketHandler.setSocket() val mSocket = SocketHandler.getSocket() мсокет.connect()* val Dec_button = findViewById(R.id.login_button) Dec_button.setOnClickListener { val намерение = Intent(this, LoginPage::class.java) startActivity (намерение) } } } Я пытался перезагрузиться, изменить локальный IP-адрес (в активности), погуглить
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»