android - Socket.io 服务器不响应客户端
问题描述
在服务器上,我将传输更改为 websocket,并使用 socket.io-client.js 作为客户端,并且可以正常工作。
socket.io-client.js
{"GET":{"scheme":"ws","host":"113.14.15.178:3000","filename":"/socket.io/","query":{"EIO":"4","transport":"websocket"},"remote":{"Address":"113.14.15.178:3000"}}}
当版本在我的 Android 应用程序上使用 socket.io-client.java 时,我遇到了问题。当我使用 socket.io-client.java 时服务器不响应请求
socket.io-client.java
{"GET":{"scheme":"ws","host":"113.14.15.178:3000","filename":"/socket.io/","query":{"EIO":"3","transport":"websocket"},"remote":{"Address":"113.14.15.178:3000"}}}
问题是否出在 socket.IO-client 中使用的 Engine.IO 上。有没有解决方案
解决方案
我已经解决了我自己的问题。如果你有同样的问题。您可以尝试以下方法:
在您的项目中添加 Websocket 客户端模块
implementation 'blabla:ws:version'
进行与服务器标头相同的查询
ws.header({"filename":"/socket.io/"}).query({"EIO":"4","transport":"websocket"});
使用 webscocket-client.js 时,检查来自 socket.io 和 websocket 客户端的传出消息和传入消息。
例子:
- 输入:40
- 出:20
- 输入:30
- 出:20
- 输入:30
- 出:20
- 然后做同样的事情来使条件成立。
ws.open( (40) ? ws.send(20) : ws.reconection(); ); ws.massage( if(30){ ws.send(20); } );
推荐阅读
- pine-script - 警报中的 pine 脚本 V3 变量值未显示
- git - 如何找到跨文件重命名和重新排序添加特定 Gradle 构建依赖项的 Git 提交?
- lucene - 文件名的天蓝色搜索完全匹配不返回确切结果
- excel - 删除包含特定列中条件的行
- css - 带有 css 的样式排版
- stata - 面板数据中的不活动持续时间变量(Stata)
- typescript - “CypressNpmApi”类型上不存在属性“env”
- javascript - 在加载了 Vue JS 的 Laravel 刀片中访问 onclick 事件
- bash - 使用字符串比较运算符的 Bash 字符串以错误的方式工作 - 与预期结果相反
- unity3d - 为什么我的游戏会基于我在层次结构中统一选择的内容