首页 > 解决方案 > 如何在 KotlinJS 中使用 socket.io-client

问题描述

我想在我的 React-Kotlin 项目中使用来自 nodejs 的 socket.io-client 库。

我试图像这样加载它:

@file:JsModule("socket.io-client")
@file:JsNonModule

package modules

@JsName("Manager")
external fun socket(uri: String): dynamic

然后,当我使用此函数调用它时,客户端将连接到服务器,val s = socket("http://localhost:8080/")但是当我像这样调用发射时,s.emit("testemit", mapOf("test" to false))它不会发送它。如果我更改s.emit为 socket.io-client 中不存在的其他内容,我会收到一条错误消息,指出该函数不存在。

标签: node.jskotlinsocket.iocreate-react-kotlin-app

解决方案


它应该与这样的东西一起使用:

val socket = kotlinext.js.require("socket.io-client")("http://localhost:8080/")
socket.emit("testemit", json("test" to false)) { result -> println(result) }

推荐阅读