icerockdev / moko-socket-io

MOKO SocketIo by IceRock is Socket.IO implementation Kotlin Multiplatform library
https://moko.icerock.dev/
Apache License 2.0
116 stars 19 forks source link

unknown protocol: ws #30

Open XDao7 opened 6 months ago

XDao7 commented 6 months ago

我在Android Studio中使用implementation("dev.icerock.moko:socket-io:0.4.0")的方式引入了这个库,然后按照readme的示例代码,使用了ws://...类型的地址,发生了如下报错:

Caused by: java.lang.RuntimeException: java.net.MalformedURLException: unknown protocol: ws
    at io.socket.client.Url.parse(Url.java:52)
    at io.socket.client.IO.socket(IO.java:61)
    at io.socket.client.IO.socket(IO.java:42)
    at dev.icerock.moko.socket.Socket.<init>(Socket.kt:25)

在socket.io-client-java中查找到了类似的issues,看起来socket.io-client-java已经修复了这个问题。在io.socket.client.IO类中使用了URI而不是URL。

The following is the translation: I introduced this library in Android Studio using implementation("dev.icerock.moko:socket-io:0.4.0"), and then used the ws://... type address according to the sample code in the readme. , the following error occurred:

Caused by: java.lang.RuntimeException: java.net.MalformedURLException: unknown protocol: ws
    at io.socket.client.Url.parse(Url.java:52)
    at io.socket.client.IO.socket(IO.java:61)
    at io.socket.client.IO.socket(IO.java:42)
    at dev.icerock.moko.socket.Socket.<init>(Socket.kt:25)

Similar issues were found in socket.io-client-java. It seems that socket.io-client-java has Fixed this issue.URI is used instead of URL in io.socket.client.IO class.

XDao7 commented 6 months ago

Is there something wrong with my usage? I didn’t find any documentation on how to introduce it in Android Studio.

XDao7 commented 6 months ago

After testing, this problem can be solved by specifying the socket.io-client-java version

implementation("io.socket:socket.io-client:2.1.0") {
    exclude(group = "org.json", module = "json")
}

If do this, you can only receive four default messages: EVENT_CONNECT, EVENT_DISCONNECT, EVENT_CONNECT_ERROR, and EVENT_MESSAGE. It is uncertain whether there are other effects.