默认
发表评论 17
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
分享我自已写的基于netty和webrtc的IM聊天系统,一起学习
阅读(70077) | 评论(17 收藏5 淘帖1 1
基于netty 和webrtc开发了一款可文字、视频的IM小系统。含服务器和android 客户端,编译可直接运行。

技术特征:

  • 1、lv定长,length 为4个字节,两个字节就够了,不过writeInt很方便,所以就定义4个字节了
  • 2、消息内容采用probuffer 编码,后台存储mysql,redis主要用于缓存登录信息
  • 3、netty实现长连接,connect 和process之间udp通信,内网基本不会丢包
  • 4、视频聊天采用webrtc,stunserver 和turnserver用的开源的coturn

也没啥特色,就是一个能文字,视频聊天的demo供大家参考。

传送门:https://github.com/zhifeijishu/im备用链接:https://github.com/52im/im-1

运行效果:
分享我自已写的基于netty和webrtc的IM聊天系统,一起学习_a.jpg     分享我自已写的基于netty和webrtc的IM聊天系统,一起学习_b.jpg

分享我自已写的基于netty和webrtc的IM聊天系统,一起学习_c.jpg

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:求助IM开发使用MQ中间件和RPC的疑惑下一篇:IM群聊消息的已读未读功能在存储空间方面的实现思路探讨

本帖已收录至以下技术专辑

推荐方案
评论 17
你这是工作需要来做im的,还是自已兴趣爱好写着练手的?
你可以截一些图,大家可以看看效果怎么样。
另外,还可以介绍一下实现了哪些特性和功能
引用:JackJiang 发表于 2020-06-23 10:54
你这是工作需要来做im的,还是自已兴趣爱好写着练手的?
你可以截一些图,大家可以看看效果怎么样。
另外 ...

已完善,业余写的
我帮你排版了一下。加油!
你提到的消息定长是用的netty的FixedLengthFrameDecoder吗?
多谢楼主无私分享。有哪些功能?登陆之后就直接进聊天界面吗?通信的协议是udp吗?
多谢楼主无私分享。
协议是用udp吗?有哪些功能?登陆后就直接跳到聊天界面吗?
引用:弱鸡哥 发表于 2020-06-24 11:42
多谢楼主无私分享。
协议是用udp吗?有哪些功能?登陆后就直接跳到聊天界面吗?

客户端和接入层之间是用tcp,接入层和process处理层之间采用的是upd。登录之后是跳转到好友列表界面。点击对应好友可聊天,目前只是简单的实现文字和视频聊天功能,供大家参考
感谢大佬,有交流群么,学习一下
引用:TonyLee 发表于 2020-06-26 08:19
感谢大佬,有交流群么,学习一下

没有,有问题可以在这里或者git留言
引用:JackJiang 发表于 2020-06-24 11:26
我帮你排版了一下。加油!
你提到的消息定长是用的netty的FixedLengthFrameDecoder吗?

是自定义的一个
我想知道登陆这块有用到oauth2吗?或者整合三方登录
引用:西窗 发表于 2020-07-13 08:47
我想知道登陆这块有用到oauth2吗?或者整合三方登录

直接去看源码就明白了
好东西
博主接入层和process层用upd的原因方便告知一下吗?我担心udp会丢失数据
已star 借鉴学习下.  毕设准备开发一个im app
引用:嘟嘟嘟哒 发表于 2020-11-12 20:25
博主接入层和process层用upd的原因方便告知一下吗?我担心udp会丢失数据

这个是内网间的交互,数据基本不丢。丢了就依靠客户端的重传
引用:JackJiang 发表于 2020-06-23 10:54
你这是工作需要来做im的,还是自已兴趣爱好写着练手的?
你可以截一些图,大家可以看看效果怎么样。
另外 ...

看了代码头疼
签名: 牛逼克莱斯
引用:轰炸超级吧 发表于 2022-10-14 14:19
看了代码头疼

慢慢来
123
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部