troyzhxu / okhttps

如艺术一般优雅,像 1、2、3 一样简单,前后端通用,轻量却强大的 HTTP 客户端(同时支持 WebSocket 与 Stomp 协议)
https://ok.zhxu.cn
Apache License 2.0
485 stars 75 forks source link

WebSocket 连接异常 #41

Closed q88qaz closed 2 years ago

q88qaz commented 2 years ago

10-25 12:36:18.967 7197-7215/? E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher Process: com.dppdkai.luckypandemo, PID: 7197 com.ejlchina.okhttps.internal.HttpException: WebSockt 连接异常: ws://127.0.0.1/aka/dserver at com.ejlchina.okhttps.internal.WebSocketTask$MessageListener.onFailure(WebSocketTask.java:278) at okhttp3.internal.ws.RealWebSocket.failWebSocket(RealWebSocket.java:570) at okhttp3.internal.ws.RealWebSocket$1.onResponse(RealWebSocket.java:199) at okhttp3.RealCall$AsyncCall.execute(RealCall.java:174) at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818) Caused by: java.net.ProtocolException: Expected HTTP 101 response but was '403 Forbidden' at okhttp3.internal.ws.RealWebSocket.checkUpgradeSuccess(RealWebSocket.java:224) at okhttp3.internal.ws.RealWebSocket$1.onResponse(RealWebSocket.java:195) at okhttp3.RealCall$AsyncCall.execute(RealCall.java:174)  at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)  at java.lang.Thread.run(Thread.java:818) 

troyzhxu commented 2 years ago

你的后端服务器不让你连了,它返回 403 状态码,如果允许你连接的话就返回的状态码就应该是 101

q88qaz commented 2 years ago

不对,ios端可以成功连接 Android端就不行 我换了几套工具都失败

q88qaz commented 2 years ago

websocket握手步骤可控制? 可以设置websocket证书?

troyzhxu commented 2 years ago

这你就得分析它返回 403 的原因了,这个原因和你使用了几套工具没有关系,可能跟你连接时传递的参数有关系,IOS 能连上,说明它传递参数正确,你如果传的参数不正确的话,有什么工具都连不上啊

q88qaz commented 2 years ago

ios端连接时并无任何参数代入 Android进行握手时有哪些可配置项?

q88qaz commented 2 years ago

尝试添加头部信息后,连接报错: 没有匹配[json]类型的转换器

q88qaz commented 2 years ago

尝试添加头部信息后,连接报错: 没有匹配[json]类型的转换器

q88qaz commented 2 years ago

.addMsgConvertor(new FastjsonMsgConvertor()) 此贴终结