Android Socket .io не удалось подключитьсяAndroid

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

Сообщение Anonymous »

Я использую Socket io в своем приложении для Android. Когда я запрашиваю подключение к IP-адресу, сокет отключается, а затем выдает сообщения об ошибках.
cause = java.net.SocketTimeoutException: не удалось подключиться к /85.105.107.53 (порт 9095) ) из /192.168.1.21 (порт 43452) через 10000 мс
подробное сообщение = ошибка опроса xhr
Как решить эту проблему ?
package com.example.wepsocketsapmle

import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import androidx.databinding.DataBindingUtil
import com.example.wepsocketsapmle.databinding.ActivityMainBinding
import io.socket.client.IO
import io.socket.client.Socket
import io.socket.emitter.Emitter
import org.json.JSONArray
import org.json.JSONObject
import java.net.URISyntaxException

class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
private lateinit var mSocket: Socket

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)

binding.mbSingIn.setOnClickListener {
connectAndAuthenticate()
}

// Socket.io bağlantısını oluştur
try {
mSocket = IO.socket("http://ip address:9095")
} catch (e: URISyntaxException) {
e.printStackTrace()
}
}

private fun connectAndAuthenticate() {
// Bağlantı varsa tekrar kurma
if (!mSocket.connected()) {
mSocket.connect()
}

// Sunucuya oturum açma isteği gönder
val paramsArray = JSONArray().apply {
put(JSONObject().apply {
put("username", "demo")
put("password", "123456")
})
}

val loginData = JSONObject().apply {
put("is_request", true)
put("id", 8)
put("params", paramsArray)
put("method", "Authenticate")
}

mSocket.emit("Authenticate", loginData)
}

override fun onStart() {
super.onStart()
// Bağlantı durumunu dinle
mSocket.on(Socket.EVENT_CONNECT, onConnect)
mSocket.on(Socket.EVENT_DISCONNECT, onDisconnect)
mSocket.on(Socket.EVENT_CONNECT_ERROR, onConnectError)
}

private val onConnect = Emitter.Listener {
Log.d("MainActivity", "Socket bağlandı")
}

private val onDisconnect = Emitter.Listener {
Log.d("MainActivity", "Socket bağlantısı kesildi")
}

private val onConnectError = Emitter.Listener { args ->
Log.d("MainActivity", "Socket bağlantı hatası: ${args[0].toString()}")
}

override fun onDestroy() {
super.onDestroy()
if (this::mSocket.isInitialized && mSocket.connected()) {
mSocket.disconnect()
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/786 ... ted-failed
Ответить

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

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

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

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

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