当前位置: 首页 > news >正文

在线网站客服软件定制百度怎么注册公司网站

在线网站客服软件定制,百度怎么注册公司网站,崇明建设镇政府门户网站,网站建设公司联系电话目录 一、WebSocket 详解1. 定义与特点:2. 工作原理:3. 应用场景: 二、入门案例 一、WebSocket 详解 1. 定义与特点: WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它允许客户端和服务器之间进行实时、双向的数据传…

目录

  • 一、WebSocket 详解
    • 1. 定义与特点:
    • 2. 工作原理:
    • 3. 应用场景:
  • 二、入门案例

一、WebSocket 详解

1. 定义与特点:

  • WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它允许客户端和服务器之间进行实时、双向的数据传输,克服了传统 HTTP 协议只能由客户端发起请求、服务器响应的单向通信模式的局限性。
  • 特点包括低延迟、实时性强、减少不必要的网络流量和服务器资源消耗等。
  • HTTP协议和WebSocket协议对比:
  • HTTP是短连接
  • WebSocket是长连接
  • HTTP通信是单向的,基于请求响应模式(浏览器发送请求给服务器)
  • WebSocket支持双向通信
  • HTTP和WebSocket底层都是TCP连接

2. 工作原理:

  • 建立连接:客户端向服务器发起 WebSocket 连接请求,该请求通过 HTTP 协议进行握手。如果服务器支持 WebSocket,它会返回一个特殊的 HTTP 响应,通知客户端可以将连接升级为 WebSocket 连接。
  • 数据传输:一旦连接建立,客户端和服务器可以随时双向发送数据。数据以帧的形式进行传输,可以是文本数据或二进制数据。
  • 连接关闭:任何一方都可以发送关闭连接的请求,关闭连接后双方不能再进行数据传输。

**思考**:既然WebSocket支持双向通信,功能看似比HTTP强大,那么我们是不是可以基于WebSocket开发所有的业务功能?

WebSocket缺点

  • 服务器长期维护长连接需要一定的成本
  • 各个浏览器支持程度不一
  • WebSocket 是长连接,受网络限制比较大,需要处理好重连

结论:WebSocket并不能完全取代HTTP,它只适合在特定的场景下使用

3. 应用场景:

  • 实时聊天应用:实现用户之间的即时通信,消息实时推送。
  • 在线游戏:同步游戏状态,实时交互。
  • 金融交易平台:实时显示股票价格、交易数据等。
  • 监控系统:实时反馈系统状态、设备运行数据等。
  • 弹幕的实现

二、入门案例

以下是一个使用 Java 和 Spring Boot 实现的简单 WebSocket 入门案例:

  1. 创建一个 Spring Boot 项目,并在项目的依赖管理文件(如 pom.xml)中添加 Spring Boot WebSocket 的依赖:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
  1. 配置 WebSocket:

创建一个配置类,用于配置 WebSocket 端点:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.config.annotation.EnableWebSocket;
import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {@Overridepublic void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {registry.addHandler(sampleWebSocketHandler(), "/ws").setAllowedOrigins("*");}@Beanpublic SampleWebSocketHandler sampleWebSocketHandler() {return new SampleWebSocketHandler();}
}
  1. 创建 WebSocket 处理类:
import org.springframework.stereotype.Component;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.handler.TextWebSocketHandler;import java.io.IOException;
import java.util.ArrayList;
import java.util.List;@Component
public class SampleWebSocketHandler extends TextWebSocketHandler {private List<WebSocketSession> sessions = new ArrayList<>();@Overridepublic void handleTextMessage(WebSocketSession session, TextMessage message) throws IOException {// 当接收到客户端消息时,可以进行处理并向所有连接的客户端广播String payload = message.getPayload();for (WebSocketSession s : sessions) {s.sendMessage(message);}}@Overridepublic void afterConnectionEstablished(WebSocketSession session) throws Exception {// 当连接建立时,将 session 添加到列表中sessions.add(session);}@Overridepublic void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {// 当连接关闭时,从列表中移除 sessionsessions.remove(session);}
}
  1. 在前端页面中使用 WebSocket:
<!DOCTYPE html>
<html><head><script>var socket = new WebSocket("ws://localhost:8080/ws");socket.onmessage = function (event) {console.log(event.data);};function sendMessage() {var message = document.getElementById("messageInput").value;socket.send(message);}</script>
</head><body><input type="text" id="messageInput"><button onclick="sendMessage()">发送消息</button>
</body></html>
http://www.dt0577.cn/news/40880.html

相关文章:

  • 手绘风格 网站企业推广策略
  • 上海网站建设电话营销模式有几种
  • 学习aspmvc网站开发 书新东方在线网上课程
  • 泸州住房和城乡建设厅网站首页海淀区seo搜索引擎优化企业
  • 护肤品网站模板计算机基础培训机构
  • 南通 外贸建站推广网站最有效办法
  • phpcmsv9网站建设入门教程sem竞价代运营
  • 一个网站可以做多少弹窗广告搜索引擎优化包括哪些内容
  • 聊天网站开发外贸网站搭建推广
  • 哪个网站的前台背景墙做的好app推广一手单
  • 做h5哪些网站好 知乎seo商学院
  • html5网站模板 站长网nba交易最新消息
  • 许昌网站开发哪家好怎么自己做一个网页
  • 网站建设如何做好整体色彩搭配百度精准营销获客平台
  • 视屏网站的审核是怎么做的西安做网站
  • c 做的网站最近的时事新闻
  • 衡水住房和城乡建设局网站网站怎么弄
  • 郑州专门做网站的公司百度广告联盟赚广告费
  • 凤岗金属制品东莞网站建设技术支持seo如何优化排名
  • 中国建设银行官网网站学seo如何入门
  • 公司建网站要多少钱网站关键词排名怎么优化
  • 网站过期后百度seo优化排名
  • 幼儿园校园文化设计公司靠谱seo整站优化外包
  • 腾讯云wordpress搭建网站东莞seo建站投放
  • 三级做视频网站有哪些黑龙江暴雪预警
  • 郑州网站建设设计公司seo个人优化方案案例
  • 网站后台管理界面下载免费注册推广网站
  • 深圳旅游网站建设怎样交换友情链接
  • 网站用视频做背景网络营销专业技能
  • 阿里巴巴做网站需要多少钱网站建设企业建站