Разъем.ввод-вывод в Котлине для моста ProtoPie Connect, каждый раз получаются одни и те же данные

#sockets #kotlin #socket.io #handler #bridge

Вопрос:

Я строю мост сокетов в Kotlin, который отправляет данные из приложения для Android в Protopie Connect. Для этой цели я использую 'nkzawa:socket.io-client:0.6.0' библиотеку Котлина. Все соединение работает, и я могу получать данные из приложения в PP Connect. Однако, как только я захочу отправить другие данные, мой получатель получит не новые, а старые данные, которые я ввел сначала, сразу после запуска приложения. Мой файл журнала показывает, что отправляются разные данные, но я не уверен, почему Protopie Connect их не получает. Не могли бы вы помочь мне с этим? Ниже вы можете найти код для моего SocketHandler (name_send происходит от inputText в моем приложении для Android).

 fun SocketHandler(name_send : String)

{
    val data = JSONObject()
    val opts = IO.Options()

    var socket = IO.socket("http://192.168.0.100:9981",opts)
    data.put("messageId", "name")
    data.put("value", name_send)
    socket.on(Socket.EVENT_CONNECT){
        //Log.d("Socket" ,"Connected")
        socket.emit("ppMessage", data)
        Log.d("data", data.toString())
        Log.d("Socket", "Data Sent")
        socket.disconnect()
    }
    socket.on(Socket.EVENT_DISCONNECT){
        //Log.d("Socket" ,"Disconnected")
    }
    socket.on(Socket.EVENT_CONNECT_TIMEOUT){
        Log.d("Socket", "Disconnected by timeout")
    }
    .on(Socket.EVENT_RECONNECT_FAILED){
        Log.d("Socket" ,"Disconnected by retry_timeout")
    }
    .on(Socket.EVENT_ERROR){
        Log.d("Socket", "Disconnected due to error")
    }
    .on(Socket.EVENT_RECONNECT_ATTEMPT){
        Log.d("Socket", "Retry to connect.. Please make sure ProtoPie Connect is running on: http://192.168.0.100:9981")
    }
    socket.connect()
    
}