zoukankan      html  css  js  c++  java
  • 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表示发送消息的时间),然后将消息传送到服务器后,你就需要对包装好的信息进行解析,然后获取你其中需要的信息,然后将信息更新到数据库,最后同步好友的消息列表。其中需要使用到多线程,一个用户代表一条线程。

          

  • 相关阅读:
    火狐浏览器清理缓存快捷键
    SVN使用教程总结
    如何登陆服务器
    get、put、post、delete含义与区别
    zookeeper 半数可用/选举机制
    zookeeper 分布式安装/配置/启动
    lucene 统计单词次数(词频tf)并进行排序
    selenium 爬取空间说说
    MapReduce自定义InputFormat,RecordReader
    reduce 阶段遍历对象添加到ArrayList中的问题
  • 原文地址:https://www.cnblogs.com/buhuiflydepig/p/12690156.html
Copyright © 2011-2022 走看看