Comments (9)
您的意思是我的Demo出现了问题么?您在哪个分支进行编译的,具体情况您可以加我qq说明,之后问题解决后您可以将解决思路贴出来,谢谢 183459684
from oksocket.
你好作者,我是直接下载 zip文件的. 另外,您的demo 并没啥问题,只是说可能不适用于我工程,
原因如下:
完整包 86个字节 包含头 4个字节 body 82个字节 我这边项目的结构定义
1:而我在您demo
Reader.class 里面
ByteBuffer byteBuffer = ByteBuffer.allocate(bodyLength);
这里减去了4个字节的包头长度 , 才可以正常使用!
如果以上面这个 bodyLength 的长度 不减去包头长度那么
作者 后续的处理是
readBodyFromChannel( 传入的body Byte )
这个方法,里面 while (byteBuffer.hasRemaining())
对当前的body的Byte 判断 是否有剩余字节的判断,
在执行了一次以后 还剩下4个字节 所以会一直阻塞 等待接收! 然后超时!
(我刚接触Socket 所以对其他的 定义结构规则不太了解,我只知道我们项目的这种处理方式)!
2:心跳问题,我项目这边,需要在未接收到心跳2次的时候 做一些处理,不知道作者这边的demo 是否有提供的回调?
谢谢作者大大! 本人菜鸟,如果有说错的地方 请见谅!!
from oksocket.
根据上面的截图,bodyLength已经是包体长度,不需要减去4字节,bodyLength顾名思义,是包体的长度.
也就是说,根据您的业务,bodyLength应该是等于82个字节长度的.
您可以看下是否有自定义包头,如果使用默认包头的话,应该没有问题的.
另外您可以连接我们的Demo服务器进行测试,有可能您的服务器出现了包协议传输不正确导致的客户端死机
from oksocket.
另外,就您说的未接收到心跳2次需要做处理,目前是没有现成回调的,您可以通过重写PulseManager来进行满足您的业务需求,以后会开放关于自定义PulseManager的相关设置
from oksocket.
作者:
在没用OKSocket之前 都是自己手动写好了的,只是再无意间看到作者大大的作品,想尝试把原写好的底层改成使用OkSocket!
我使用是的默认的配置! 然后得到的bodyLength 是完整包的包大小,并不是包体的大小, 所以我也很奇怪,但是如果我做了 bodyLength -4 以后 就能得到正确的 包体大小!
不知道是不是跟发包的结构有关系, 我这边发包结构 包头和包体 统一在一个 byte[] 里面, 然后发送出去!
另希望作者大大可以多多加油优化!
from oksocket.
很感谢您对我们的信任
首先您要确认,使用的是什么依赖,推荐使用jcenter的依赖,或者下载release分支的代码,master上是正在开发还没有完工的代码
from oksocket.
我是把okStock作为library 然后在最外层的build.gradle 里面增加
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'
可能正因为如此,可以修改成自己想要的,同时在你写好的代码上再进行 发包,收包的封装 来统一管理吧!
from oksocket.
恩,注意你一来的library中的分支,master分支是还未开发完成的分支,请不要使用,请使用现在的release分支进行二次开发
from oksocket.
我直接下的 zip包 应该是 release的吧? 我看demo 的名称叫
OkSocket-release-1.0.1!
期待作者大大 下版的优化!如果有更新,麻烦告知一下!!多谢!!!
from oksocket.
Related Issues (20)
- 默认的重连管理器中,断线重连线程没有shutdown HOT 1
- JCenter is at end of life HOT 6
- app刚开始运行正常,过一段时间,出现 再也无法发送数据的情况,稳定复现
- 连接成功,但是连接完会出现这个异常退出,请问什么原因? HOT 5
- 数据持久化无法使用
- 手机息屏后会断开连接 HOT 1
- How to pass header when sending message from client side. HOT 1
- 取消回调后,还是会有连接回调
- 2021-11-07 22:05:47.630 27015-27221/com.app.transfer W/System.err: OkSocket, Socket server 192.168.49.1:3876 connect failed! error msg:failed to connect to /192.168.49.1 (port 3876) from /192.168.49.181 (port 49326) after 10000ms: isConnected failed: ECONNREFUSED (Connection refused)
- 导致ANR HOT 1
- 如何发送一个文件呢
- Socket Service 经常读取错误,导致client 离线 HOT 5
- delimiter support HOT 1
- getBodyLength方法如何计算大小呢
- 如何设置客户端ip HOT 3
- Async communication?
- 如何自定义该种数据传输协议? HOT 1
- IllegalStateException: Oksocket.Server() load error. Server plug-in are required! For details link to https://github.com/xuuhaoo/OkSocket
- Caused by: java.net.ConnectException: failed to connect to /192.168.11.123 (port 20201) from /192.168.11.135 (port 57124) after 10000ms: isConnected failed: ECONNREFUSED (Connection refused) HOT 1
- 导入失败
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oksocket.