# WithMe **Repository Path**: mic-open-code/WithMe ## Basic Information - **Project Name**: WithMe - **Description**: 基于WebScoket协议实现的即时聊天项目。后台使用SpringMVC和Hibernate - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-05-11 - **Last Updated**: 2021-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WithMe 1.0 Alpha   这个项目是使用JavaEE开发的一个多人在线即时聊天系统。 ## 新版本开发 因为这个版本是我几年前开发的,所以目前不做维护和更新。目前我正在使用微服务开发的模式,使用Netty作为websocket服务器,使用redis作为缓存等方式以提高聊天系统的可扩展性,并发性等各方面性能,同时也开发新的功能。欢迎大家关注以及共同开发~ 项目地址: https://github.com/IcedSoul/WithMe3.0 ## 运行说明  请按照以下方式来让此项目在你的电脑上运行。 ``` 1. 使用git命令行执行以下命令将项目下载到本地(需安装Git客户端) https://github.com/IcedSoul/WithMe 2. 打开WithMe/WithMe 2.0 Alpha/JavaEE(Server&Client)/WithMe,这个目录为项目的根目录(后面说的根目录都是指的这个目录)。当前目录下src/main/resources/withme.sql为建表语句。确认自己本地MySQL已经安装并且正常运行,使用navicat或者命令行在MySQL使用WithMe.sql里面语句新建对应数据库和表。 3. 修改项目根目录下src/main/resources/properties下面database.properties文件,将数据库连接地址,用户名和用户密码修改为自己使用的MySQL数据库。 4. 在命令行下进入项目根目录,执行一下命令(需要先安装Maven工具并且配置好环境变量,如未安装可以百度&Google安装方式。) mvn clean package -DskipTests 5. 执行成功后即可在根目录下target文件夹下看到WithMe.war文件,将这个文件复制到Tomcat安装(也就是解压)目录下的webapps文件夹内,然后重启tomcat即可。(需下载并且解压Tomcat,版本最好为8.0或以上) 6. 在浏览器访问http://localhost:8080/WithMe来查看效果。 7. 测试请使用两个浏览器注册并且登录两个账号,搜索彼此添加好友来进行聊天。 ``` ## 运行截图 ![聊天](http://ou7jocypf.bkt.clouddn.com/18-1-27/37562533.jpg) ## 主要功能   1.注册/登录
  2.搜索用户,查看用户信息,发送好友申请,同意好友申请
  3.单人即时聊天
  4.建立群组,邀请好友入群,查看群组成员
  5.群组聊天
## 采用框架及协议   使用JavaEE框架:Spring+SpringMVC+Hibernate
  前端:Bootstrap+Layer.js插件
  通信:使用JavaEE 7.0 WebSocket协议
此处请注意:WithMe1.0 Alpha 版本所使用的 WebSocket 为 JavaEE7.0(及以上)自带的 javax.websocket 类库,WebSocket版本为JSR356,无法实现与 Android 端以及桌面端通信的功能。
## 说明  因为使用的WebSocket协议只支持Web端,本项目只有web端。但是,我们会基于 WithMe 1.0 Alpha 继续开发 WithMe 2.0 Alpha 版本,在在2.0中,我们将采用新的WebSocket协议,实现web端、Android端以及桌面端的互相通信。
*** # WithMe 2.0 Alpha   WithMe2.0优化了WithMe1.0仅支持Web端的问题,采用了新版本的Java-WebSocket,实现了与Android端和Java桌面端的即时通信。
## 主要功能   功能同WithMe1.0,添加了Android端单聊和群聊功能。
## 采用框架及协议   框架和协议与WithMe1.0相同。
  WebScoket由JavaEE7.0的javax.websocket变为Java-Websocket。