Giter VIP home page Giter VIP logo

websocket-webrtc-chat's Introduction

websocket-webrtc-chat(飞鱼chat 音视频通话聊天)

  • WebSocket是一种在单个TCP连接上进行全双工通信的协议,这使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据,相对于传统的HTTP协议有很大进步。
  • WebRTC (Web Real-Time Communications) 是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。
  • 本项目基于SpringBoot,使用websocket和webrtc技术,实现一个具有文字聊天(包括表情),音视频通话,文件/图片发送接收,离线消息和简易搜索功能的项目。项目主要功能特性如下:
  1. 采用springboot+websocket+webrtc+bootstrap5+H5+JQuery3.3+mysql5.7.2实现,运行项目前只需安装mysql并将项目中/sql/all.sql在数据库执行即可。

  2. 项目具有文字聊天(包括表情),音视频通话,文件/图片发送接收,离线消息和简易搜索功能

  3. 采用webrtc技术实现一对一视频聊天功能,使用websocket+springboot实现webrtc视频通话信令服务器,部署到公网实现公网互联需要部署stun服务器,推荐Coturn

  4. 根据websocket功能特性,服务端可自动向前端推送消息,用户上下线等,实时刷新数据。

  5. 消息可实现在线发送和离线发送,离线消息在用户登录后可见,用户未读消息数量提示.

  6. 使用ssl证书实现https安全访问(webrtc访问浏览器调用摄像头、麦克风要求使用https协议)。

  7. 项目启动后登录地址为https://localhost:8089 用户:孙悟空 密码:1234

效果图: 移动端效果图 pc端效果图 演示视频地址: 【飞鱼聊天chat 音视频通话 springboot+websocket+webrtc+bootstrap5实现仿微信QQ】 https://www.bilibili.com/video/BV14c411S7w1/?share_source=copy_web&vd_source=b3acfcfa7fd3206c27f10c8cc238ac27

websocket-webrtc-chat's People

Contributors

codingroam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.