如果要开发一个简单的网页聊天室,需要什么架构呢?需要的具体技术是什么?

一、思考

(1)初版

  1. 前端html js jquery来写。
  2. 后端用severlet来写。
  3. 前端直接传递表单给后端,后端用ajax的回调传递json格式数据给前端更新页面。
  4. 后端两个服务器,一个是专门验证登陆的,用jdbc链接mysql之类的。
  5. 另一个是专门负责聊天的,用websocket来实现。

(2)再深一层

前端界面层,具体要写点什么?

  1. 登录,注册,找回,修改。
  2. 聊天界面,朋友圈,搜索,增删改查。

前后端想用什么方法交互?

  1. 简单的html提交表单,包装成json给后端。
  2. 后端通过ajax的组件发送json给前端,前端获取并且显示。

后端怎么写?

  1. 用户服务器,对应前端的登录,注册,找回,修改。
  2. 解析json,多线程,jdbc,myql,severlet。
  3. 聊天服务器,对应前端的聊天界面,朋友圈,搜索,增删改查。
  4. 解析json,多线程,jdbc,mysql,socket,severlet

(3)再深一点

登录具体实现?

  1. 用户前端输入用户名,密码。
  2. js基本验证。
  3. js包装成json发送给后端,后端返回结果。
  4. 前端根据指令做不同显示(账户不存在?账户或密码错误?登录惩罚?验证码错误?)。

后端具体实现?

  1. 用severlet写。
  2. 开多线程,接收前端发送的json。
  3. 然后经过jdbc等等渠道,与数据库交互。
  4. 返回相应数据,包装成json,发送给前端。

聊天数据传输?

  1. 用websocket,多线程来做。
  2. 收到前端的请求之后包装成json,发送给相应websocket对象。
  3. 服务器将用户的websocket存在map中,键为用户名,值为websocket对象。
  4. 向某用户发信息时,信息头里面带一个目的用户的用户名,服务器接到后根据对应的用户名找出对应websocket,然后把消息发送到对应的websocket里面。

二、总结

比较简单的分析到这里,之后详细的功能我会一边做一边学。

发表评论

电子邮件地址不会被公开。 必填项已用*标注