首页 > 编程知识 正文

web前端三大主流框架(聊天网站搭建)

时间:2023-05-05 17:26:20 阅读:66110 作者:3353

软件生命周期:

1业务人员需求

2产品经理推出产品(线框图、原型图) )。

3系统设计

4开发

5设计

6配置

了解业务

聊天室1 .登录:在同一浏览器、多个选项卡上保持同一Session Session概念:会话(登录后、注销前或超时前均为一个会话)

会话角色:解决对未登录的敏感资源的访问问题(更安全) ) ) ) ) ) ) ) ) ) ) ) )。

代码实现:

登录时:通过帐户密码验证后,request.getSession ()//true

登录后,可以检索Session对象

在同一页上,登录后可以看到用户信息,不登录后可以看到登录、注册按钮

2 .有多个消息通道3 .支持消息通道,可以相互收发消息。 不同的消息通道,无法收发的4结束后重新登录的用户能看到哪些消息? 可以显示自上次登录以来的消息

回顾与web相关的技术开发web项目流程(开发-----打包--- -部署--- -执行--- -验证)

打包: maven下的包

部署:将war文件复制到tomcat和webapps

运行:自动解压缩webapps目录中的war文件。 解压缩文件夹名称是war文件名。 每个文件夹都是一个web项目。 这是APP应用程序的上下文路径

在idea上配置tomcat和部署项目:

请注意要使用的APP应用程序的上下文路径。 在前端已经死了。 请一致。

URL:http://ip或域名:端口/APP应用程序上下文路径/服务路径

Ajax技术:异步请求回调

推送web套接字消息

推送是谁都不知道的信息。 例如,按下按钮的消息、某东某宝购物后的系统消息等都是消息推送。 在出现H5之前,消息推送基本上使用的是HTTP请求,但HTTP请求只是在客户端启动请求后服务端返回消息,而在客户端未启动请求时服务端主动发送消息通过HTTP方式实现消息推送有以下方法。

轮询方式:客户端定时向服务端发送ajax请求,服务器收到请求后立即返回消息并关闭连接。

优点:易于创建后端程序。

缺点:建立和关闭TCP操作浪费时间和带宽,大部分请求是浪费,浪费带宽和服务器资源。

示例:适用于小型APP应用。

长轮询:客户端向服务器发送Ajax请求,服务器收到请求后挂起连接,返回响应消息并关闭连接直到有新消息,客户端处理响应消息后再关闭服务器

好处:没有消息就不会频繁请求,资源消耗少。

缺点:与服务器的hold连接消耗资源,无法保证返回数据的顺序,维护管理变得困难。

实例: WebQQ、hi网络版、Facebook IM。

长连接:通过在页面中嵌入嵌入式iframe并将此嵌入式iframe的src属性设置为长连接请求或xhr请求,服务器端可以不断向客户机输入数据。

优点:消息及时到达,不要求浪费的管理也比较方便。

缺点:服务器保持较长的连接会增加开销,客户端增加时服务器压力会增加每一个客户端都是和服务端的一个长连接

范例: Gmail聊天

3358 www.Sina.com/: html5web socket使客户端浏览器具有类似于C/S框架下桌面系统的即时消息传递功能,而不是轮询和长连接虽然像WebSocket和HTTP那样通过TCP传输数据,但WebSocket在客户端(如TCP )和服务端(如TCP )通过握手连接且连接成功之前不能相互通信。

每根竿子系上铃

优点:使用双向通信、事件驱动、异步、ws或wss协议的客户端可以实现真正意义上的推送功能。

缺点:某些浏览器不支持。

示例:社交聊天(微信、QQ )、弹幕、多人游戏、联合编辑、股票基金实时报价、体育实况更新、视频会议/聊天、基于位置的APP、在线教育、

网络套接字原理:

1 )根据HTTP建立连接(持有并保存双方通信的许可证) )。

2 )真正传输数据。 传输层基于TCP协议,而APP应用层是web套接字协议

开放的山水给勇敢的皮卡丘公关发送信息,实现:

)1)从客户端向点发送消息

)2)服务器转发消息

1、向服务器发送开放山水ckdbwb消息

2、服务器不能向xnddy发送消息使用http协议()服务器的ip是在公共网络上开发的,所有人都可以访问。 客户端的ip未开放,服务端不知道) )。

websocket实现的消息推送过程(1)客户端和服务端要建立连接,只需要客户端发起请求,双方建立连接

客户端js代码

new websocket :双方建立连接(双方通知执行打开连接的回调函数) )。

)2)双方通信全双工,客户端和服务端可以发送或接收消息

客户端发送消息: websocket.send(message );

服务器主动发送消息: session.getBasicRemote ().sendtext () message ) )。

建立连接后存在的会话对象

我们有session引用就可以发送消息

会话是web套接字的会话。 长连接未关闭的是会话。 与servlet会话不同

双方接收消息:被动接收消息(事件驱动异步回调) )。

客户端:在开放山水发送消息事件中,调用客户端websocket.send(message );

服务端:接收开放山水发送的消息

服务器向勇敢的皮卡丘br客户端发送消息: xnddy接收消息

目前,项目需要将开放山水发送的消息转发给所有客户端

前端过滤某个消息通道中的消息

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。