个人做的聊天网站(react + node), 支持视频聊天, 文件传输, 简单朋友圈分享

#1

http://www.worksphere.cn/home(暂时只支持chrome). 功能如下:

  • 文字聊天(可以内嵌图片, mp3, 短视频mp4), server端暂时没有保存聊天记录
  • p2p视频聊天
  • p2p文件传输(基于google chrome的filesystem api, 只要硬盘足够大, 即使传输10G文件也可以)
  • 简单的朋友圈分享(同样可以上传图片/mp3/mp4)

所用的技术:

前端:

  • react全家桶(react, redux, immutable)
  • socket.io client(实现文字聊天)
  • webrtc(实现p2p视频聊天, p2p文件传输)
  • ui框架: material ui

后端:

  • node + express
  • socket.io server
  • nginx as reverse proxy server
  • Postgresql + mongodb

其它第三方服务:

  • 七牛云存储(存放聊天/朋友圈的多媒体文件)
  • sendcloud mail service(暂时只用于: 忘记密码后的邮件提醒)

注意事项:

  • 暂时只支持chrome, 比较耗内存(以后慢慢优化吧)
  • 视频聊天时, 可能会有回音, 噪音, 使用前, 先将电脑音量调低, 最好使用耳麦
  • 本人时间/精力有限, 尚未完全测试, 可能随时发生server死机
  • 请不要在一个浏览器中用2个身份在2个tab中打开, 会有冲突
  • 七牛有10G的免费存储空间, 因此, 我会定期清理/删除一些旧文件, 这会导致你上传的文件消失.
  • 聊天的内容server端没有保留, 因此你在offline期间发给你的msg是收不到的

注册后, 想要加我为好友, 则: 在加好友的dialog中搜索"华仔"即可.

3 Likes
#2

厉害了。WebRTC都用上了。

#3

感谢各位朋友近期登录小站, 并提出了反馈和意见. 也有朋友反应: 视频聊天, 文件传输只能在局域网中, 在Internet上无法建立连接. 由于P2P连接并非能保证完全成功. 为此, 我还特意装了一台STUN server用来翻越防火墙/NAT, 希望能提高P2P连接成功率. 也请, 各位朋友多多使用, 测试.

由于P2P视频/文件传输, 其数据是不通过server的, 而且webRTC自带了许多加密协议, 确保了语音/视频/数据传输的安全性. 因此, 不用太担心被第三方截获到.

此外, 还做了一个小改动: 当你进入临时聊天室后, 以前只能邀请一位好友进入私聊, 现在可以邀请9个好友, 而且还有一个私人组供你们10人一起群聊.

以上这一切功能, 都无需注册, 也可以使用. :smile:

#4

厉害:+1:

#5

源码不开源吗

1 Like
#6

源码在哪里?

#7

Sorry, 该项目个人做做玩玩, 还有很多bug, 暂时不开源. 其实也没啥技术含量, 都是些现成的工具整合在一起罢了. 不过其中的P2P文件传输功能还是很有用的, 也花了不少心思. 我单独做了一个library可以方便的嵌入你现有的网站中, 有兴趣的话, 可以看看:
https://github.com/edwardwohaijun/simple-filer

中文介绍

#8

react+redux+node+react-redux仿微信界面聊天室实战开发
https://www.cnblogs.com/xiaoyan2017/p/11062316.html
003360%E6%88%AA%E5%9B%BE20190611172530005 014360%E6%88%AA%E5%9B%BE20190611174836214