FreddyChen

Results 24 comments of FreddyChen

这个博客上有说的,只是起一个抛砖引玉的作用,供大家作个参考,目前用的是netty-all包,可以选用别的,也可以考虑作jar包裁剪的哈

> 连接层用 `SocketIO` 或 `WebSocket` 更好吧 都可以的,这个只是其中一种,后续会基于UDP和WebSocket写一篇文章。

> 要是有openfire的就好了 目前没有

> netty 一个 jar 包进来,2W+个方法,谁能顶得住? > 有考虑 jar 包做裁剪么? jar包已做裁剪,望知悉。

> 具体裁剪了哪部分,能介绍一下么? 这里不好贴图,文章里有介绍,在文章的下方。https://juejin.im/post/5c97ae12e51d45580b681b0b

> 大佬 ui界面的交互实现可以分享出来吗 已在群内分享

> 希望能开放一下服务器端的源码 正在开发,可能没那么快。

> ![TIM截图20190430175740](https://user-images.githubusercontent.com/6021075/56954513-88140280-6b71-11e9-958b-925e630637b5.png) > 1.发送失败是否也需要返回给应用层 > 2.如果发送的时候发现连接失败 也就是心跳机制一直再重连 但是就是发送一瞬间连接断掉 这个时候直接暴力返回是否不好?是否再发送的时候判断连接是否挂掉 然后做重连操作? 首先,非常感谢您提出的问题。 1.如果channel不为空,也就是长连接正常的话,消息发送失败会返回给应用层,详见MsgTimeoutTask.java,但channel为空的话,也就是长连接已断开或者没连上,这个时候可以加上返回给应用层的逻辑。 2.虽然这种情况不常见,但确实是一个问题,后续会优化,再次感谢您的意见。

> ![TIM截图20190430180247](https://user-images.githubusercontent.com/6021075/56954781-4e8fc700-6b72-11e9-97f6-123f9fc50efd.png) > 1.不知道作者是否遇到过 多线程进行发送消息的时候例如A->B->C 这种顺序发送消息 但是具体接受消息的顺序不是这个顺序 那样的话解析的时候就会出错 比如C->B->A 这种顺序返回 这种情况是否有好的方案解决? 这种情况我遇到不少,虽然不是经常出现,但网络情况不稳定的话,出现的概率也并不低。我观察过微信,也会有这种问题出现,但出现的概率比较低。正常情况下,不会出现这种情况。而且,消息顺序,不是太重要的,比如发送方发送A-B-C三条消息,接收方收到的顺序是C-B-A或B-C-A之类的,应该没有太大的问题,如果真的要解决的话,我个人觉得,用消息队列来处理应该可以,就是发送的时候,先把消息放到队列里,再从队列里取出,如果发送成功,就从队列中移除,如果不成功,就指定一个重试周期,但不能太长,不然会影响后面的消息的发送,如果一个重试周期还是发送不成功的话,可以放到队列的末尾,或者移除掉,通知应用层手动重发。如果您有更好的方案,也麻烦告诉我哈,一起学习。

> _No description provided. 目前不支持,有需要的话,后续会考虑写这方面的文章