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

网站建设公司挣钱吗建设银行的官方网站积分商场

网站建设公司挣钱吗,建设银行的官方网站积分商场,北京网站建设兴田德润电话多少,网站做接口怎么做网页版Java五子棋项目(一)websocket【服务器给用户端发信息】 一、为什么要用websocket二、websocket介绍原理解析 三、代码演示1. 创建后端api(TestAPI)新增知识点:extends TextWebSocketHandler重写各种方法 2. 建立…

网页版Java五子棋项目(一)websocket【服务器给用户端发信息】

  • 一、为什么要用websocket
  • 二、websocket介绍
    • 原理解析
  • 三、代码演示
    • 1. 创建后端api(TestAPI)
      • 新增知识点:
        • extends TextWebSocketHandler
        • 重写各种方法
    • 2. 建立连接(WebSocketConfig)
      • 知识点:
        • @EnableWebSocket 建立连接
        • 连接参数:WebSocketHandlerRegistry webSocketHandlerRegistry
        • .addHandler(testAPI, "/test");
    • 3. 前端代码
      • 知识点:
        • new WebSocket("ws://127.0.0.1:8080/test");
        • 四种接受发送方法
  • 四、结果展示

一、为什么要用websocket

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、websocket介绍

WebSocket 是从 HTML5 开始支持的一种网页端和服务端保持长连接的 消息推送机制.

理解消息推送:
传统的 web 程序, 都是属于 “一问一答” 的形式. 客户端给服务器发送了一个 HTTP 请求, 服务器给客户端返回一个 HTTP 响应.
这种情况下, 服务器是属于被动的一方. 如果客户端不主动发起请求, 服务器就无法主动给客户端响应.

像五子棋这样的程序, 或者聊天这样的程序, 都是非常依赖 “消息推送” 的. 如果只是使用原生的 HTTP 协议, 要想实现消息推送一般需要通过 “轮询” 的方式.

轮询的成本比较高, 而且也不能及时的获取到消息的响应.

而 WebSocket 则是更接近于 TCP 这种级别的通信方式. 一旦连接建立完成, 客户端或者服务器都可以主动的向对方发送数据.

原理解析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、代码演示

1. 创建后端api(TestAPI)

新增知识点:

extends TextWebSocketHandler

重写各种方法

package com.example.java_gobang.api;import org.springframework.stereotype.Component;
import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.handler.TextWebSocketHandler;@Component
public class TestAPI extends TextWebSocketHandler {@Overridepublic void afterConnectionEstablished(WebSocketSession session) throws Exception {System.out.println("连接成功");}@Overrideprotected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {System.out.println("收到消息: " + message.getPayload());// 让服务器收到数据之后, 把数据原封不动的返回回去~session.sendMessage(message);}@Overridepublic void handleTransportError(WebSocketSession session, Throwable exception) throws Exception {System.out.println("连接异常");}@Overridepublic void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {System.out.println("连接关闭");}
}

2. 建立连接(WebSocketConfig)

知识点:

@EnableWebSocket 建立连接

连接参数:WebSocketHandlerRegistry webSocketHandlerRegistry

.addHandler(testAPI, “/test”);

package com.example.java_gobang.config;@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {@Autowiredprivate TestAPI testAPI;@Overridepublic void registerWebSocketHandlers(WebSocketHandlerRegistry webSocketHandlerRegistry) {webSocketHandlerRegistry.addHandler(testAPI, "/test");}

3. 前端代码

知识点:

new WebSocket(“ws://127.0.0.1:8080/test”);

四种接受发送方法

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>TestAPI</title>
</head>
<body><input type="text" id="message"><button id="submit">提交</button><script>// 创建 websocket 实例let websocket = new WebSocket("ws://127.0.0.1:8080/test");// 需要给实例挂载一些回调函数websocket.onopen = function() {console.log("连接建立");}websocket.onmessage = function(e) {console.log("收到消息: " + e.data);}websocket.onerror = function() {console.log("连接异常");}websocket.onclose = function() {console.log("连接关闭");}// 实现点击按钮后, 通过 websocket 发送请求// document.querySelector是从标签中获取值let input = document.querySelector('#message');let button = document.querySelector('#submit');button.onclick = function() {console.log("发送消息: " + input.value);websocket.send(input.value);}</script>
</body>
</html>

四、结果展示

前端
在这里插入图片描述

后端

在这里插入图片描述

http://www.yayakq.cn/news/848116/

相关文章:

  • 熊掌号接合网站做seo个人网站有哪些站
  • 怎样建设网络游戏网站wordpress v2ex主题
  • 有口碑的盐城网站建设商城网站哪个公司做的好
  • 犀浦网站建设为什么wordpress不能升级
  • 建设银行网站首页打西安市建设工程交易网
  • 做网站的linux程序代码中国知名的建网站的公司
  • 做漂亮的二维码网站郑州网站建设如何
  • 网站首页图怎么做微网站首选公司
  • 怎么注册晋江网站做的个人网站不能备案
  • 社交网站开发成本专业彩票网站开发 APP开发
  • 专做定制型网站装修论坛网站有哪些
  • 淘掌门官方网站怎么彻底关闭微信小程序
  • iis做的网站模板制作网页时用的最多的图像格式
  • 巩义推广网站哪家好清溪做网站的电话
  • 做爰网站1000部网站后台管理系统权限
  • 网站的注册网络营销工程师前景
  • 四川省城乡住房建设厅网站天辰建设网
  • 订餐网站怎么做网页美术设计专业
  • 宁波网站推广优化张家口网站建设价格
  • 原来做网站后来跑国外了电子政务网站建设公司排行榜
  • iis的网站默认端口用局域网建设网站
  • 网站设计公司西安北京网页设计工资
  • 临汾哪做网站中公it培训机构怎么样
  • 阿里云网站备案需要多久在商用网站上用明星的名字做昵称
  • 在哪可以接企业网站建设的活seo需求
  • 社交网站建设平台网站变灰色代码
  • 购物网站网页设计报告北京网络推广平台
  • 怎么查看网站disallow做我的世界壁纸的网站
  • 做卖车网站需要什么手续长治长治那有做网站的
  • 外贸设计网站建设企业网站站内优化