kwsify使用二进制来发送数据包, 这就意味着你不能使用wscat之类的 纯文本websocket调试器来调试服务端, 我会在下面的文档中给出所有数据包的偏移值
文档地址: https://docs.rtast.cn/#/docs/kwsify/kwsify
这里是一个示例项目用于将本地的音频文件传输给其他客户端
$ chmod +x ./gradlew # 可选
$ ./gradlew buildShadowJar
$ java -jar kwsify.jar [--port 8989]
repositories {
maven("https://pkg.rtast.cn/releases")
}
dependencies {
implementation("cn.rtast:kwsify-api:2.0.0") // 替换成最新版本
}
点这里查看所有版本(记得使用
api
模块而不是server
模块)
fun main() {
val wsify = Kwsify("ws://127.0.0.1:8080")
wsify.subscribe("test", true, object : Subscriber {
override fun onMessage(channel: String, payload: ByteArray, packet: OutboundMessageBytesPacket) {
// payload是完整的二进制数据包, packet.body是ByteArray形式的任意数据如果确定发送的是纯文本
// 那么直接使用String(packet.body)即可还原出纯文本
println(String(packet.body))
}
override fun onClosed(channel: String) {
println("closed")
wsify.reconnect()
}
})
Thread.sleep(1000L)
wsify.publish("test", "114514")
}
- 本项目以Apache-2.0许可开源, 即:
- 你可以直接使用该项目提供的功能, 无需任何授权
- 你可以在注明来源版权信息的情况下对源代码进行任意分发和修改以及衍生
JetBrains Open Source
提供的强大IDE支持