java实现聊天室的简单实现

1、首先第一步就是数据库建表。

总体来看有以下几张基础的表:

(1)用户表:

 

 

 

 

 

 

(2)好友表:

 

 

 

 

 

(3)群表:

 

 

(4)群用户表:

 

 

(5)好友消息表

 

 

(6)群消息表:

 

 

 

以上就是一些基本的表吧,其中其实是有些重复了的,比如:好友消息表中的one_self,以及群消息表中的name_group。这都是重复的,可以省略的。你可以通过里面的好友id和群id来继续查表,找到好友名和群名,我当时只是为了方便,不建议使用,谨记,谨记......

 

 

2、实现得一下功能步骤:

  (1)注册:

      首先你的有一个界面,然后在里面输入信息点击注册按钮后,就将里面得数据存入数据库,并跳转到登录界面(注意:其中得用户id是自动生成的,并且不能够有重复的,也就是说,你需要实现去重操作)。

 

  (2)登录:

      在登录界面用户输入完账号密码后,你就通过你输入的账号去数据库中查找你的密码,如果有,找出来的时候你就与用户输入的密码进行字符串比较,如果不相同的话,就返回一个信息给用户,表示登录失败,否则,就直接进去主界面。

  

  (3)添加好友:

      在搜索框中输入想加的好友id后,就进入数据库查找,如果存在此用户,就发送一个信息给该好友,然后好友收到后,看是否接受。如果接受,就在数据库中建立好友关系。

  

  (4)删除好友:

      直接在数据库中删除两个人的好友关系,并且删除相关的聊天消息。

  

  (5)创建群聊:

      直接在数据库中创建群聊关系,记住,其中是创建该群聊的用户为群主。

  

  (7)加入群聊:

      和添加好友差不多,不同的是,管理员和群主都会收到添加消息,如果只要其中一个人同意,其他的人就无法继续同意了。

 

  (8)发送消息:

      现在才是比较难的地方,这里需要使用服务器来进行一个中心处理(当然,这个服务器其实就是指你自己,添加好友和加入群聊也需要用它来做一个中间转接),首先一个用户发送一条消息给它的好友,你需要对消息做一些包装(其中包装的格式由你自己规定,我当初约定的格式:@id_me~id_you&name_me#text:time,其中id_me表示我的id,id_you表示好友的id,name_me表示我的昵称,text表示发送的消息,time表示发送消息的时间),然后将消息传送到服务器后,你就需要对包装好的信息进行解析,然后获取你其中需要的信息,然后将信息更新到数据库,最后同步好友的消息列表。其中需要使用到多线程,一个用户代表一条线程。

      

 

posted @ 2020-04-13 11:21  不会fly的pig  阅读(3132)  评论(0编辑  收藏  举报