首页 > 编程知识 正文

ajax与http(websocket最大连接数)

时间:2023-05-05 19:37:22 阅读:102156 作者:471

文章目录

概述

HTML5中的WebSocket

问题一

在跳羚中访问静态页面

Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)支持WebSocket

问题一

问题2

案例源码

概述

应用场景:

消息推送,替代创建交互式、快速动态网页应用的网页开发技术轮询。在线聊天WebSocket是HTML5提供的在单个传输控制协议(传输控制协议)链接上进行全双工通讯的协议。

客户端请求

连接:升级表示客户端希望升级连接升级: websocket表示希望升级到websocket协议请求URL : ws ://127。0 .0 .1:8080/WebSocket/88274。1:80808

请求方法:获取

连接:升级

升级: websocket

秒-网络套接字-版本: 13

sec-WebSocket-Key : Uzqa3d qq8 zeb v2ol 4 nxo AQ==

sec-WebSocket-扩展s 3360 permessage-deflate;客户端_最大_窗口_位

服务端响应

升级: websocket

连接:升级

sec-web套接字-接受: fl7b 8 k4er ui8 bempzvn 91 wtktqk=

sec-WebSocket-扩展s 3360 permessage-deflate;client _ max _ window _ bits=15

HTML5 中的 WebSocket

WebSocket的属性

ws.readyState当前连接状态

0 连接未建立一连接已建立,可以正常通信2连接正在关闭3连接已关闭或连接不能打开ws.bufferedAmount已被发送()放入正在队列中等待传输,但是还没有发出的UTF-8文本字节数WebSocket的事件

ws.onopen建立连接后的回调函数ws.onmessage收到服务端消息的回调函数ws.onerror通信错误的回调函数ws.onclose连接关闭的回调函数WebSocket的方法

ws.send(数据)发送数据ws.close()关闭连接使用

//创建链接

var ws=new WebSocket(url,[协议]);

//建立连接后的回调函数

ws.onopen=函数(事件){ 0

};

//收到服务端消息的回调函数

ws.onmessage=函数(事件){ 0

};

//通信错误的回调函数

ws.onerror=函数(事件){ 0

};

//连接关闭的回调函数

ws.onclose=函数(事件){ 0

}

//发送数据

函数发送(){ 0

ws。发送(JSON。stringify(message));

}

//关闭连接

函数closeWebSocket(){ 0

ws。close();

}

问题一

未能构造"网络套接字":网址的方案必须是ws或wss .不允许本地主机.统一资源定位器协议不要忽略《华盛顿明星报》或wss分别对应超文本传送协议(超文本传输协议的缩写)与https的区别

在 springboot 中访问静态页面

index.html文件放置位置资源/静态/索引。超文本标记语言

直接访问地址:localhost:8080/index.html

跳羚在资源文件夹下有两个默认文件夹

静电存放静态页面模板存放动态页面,需要配合百里香叶使用

Java 支持 WebSocket

添加弹簧靴启动器websocket依赖

属国

groupIdorg.springframework.boot/groupId

artifactIdspring-boot-starter-web套接字/artifactId

/依赖性

定义监听端点,和监听事件(与前端的监听事件相同)

@ ServerEndpoint('/WebSocket/{ sid } ')

@组件

公共类WebSocketServer {

//事件

@OnOpen

公共void onOpen(会话会话,@PathParam('sid ')字符串sid) {}

@OnMessage

公共无效消息(会话会话,字符串消息){}

@OnError

公共void onError(会话会话,可抛出错误){}

@OnClose

public void onClose() {}

//方法

私有会话会话;//客户端连接对象

public void fun(){ 0

//发送消息

this.session.getBasicRemote().发送文本(消息);

//关闭连接

这个。会话。close();

}

}问题一

index.html:22与" ws ://127。0 .0 .1:8080/WebSocket/10000 "的webSocket连接失败:在web套接字握手过程中出错:意外响应代码: 404

在使用跳羚内置的雄猫容器时,需要注入服务器端点导出器,这个豆中的注册点数()方法会将@服务器端点注解的豆添加到服务器容器容器中。

ServerEndpointExporter是由弹簧靴启动器websocket提供的,并且这个项目的子项目中包含起始网,所以单独做一个websocket时只需要依赖启动器-websocket即可

@配置

公共类WebSocketConfig {

/**

* 使用内置雄猫需要定义豆

*不需要外部,否则会出错。

*/

@豆

public server endpointexporter server endpointexporter(){ 0

返回新的ServerEndpointExporter();

}

}

如果仍然失败,您需要检查这个类是否注册为bean。@Component注释是必需的。@ServerEndpoint不会生成bean,bean是Tomcat中的注释,代表服务侦听端点的地址。

@ ServerEndpoint('/WebSocket/{ sid } ')

@组件

公共类WebSocketServer {}

因为ServerEndpointExporter在注册时会查找所有bean。

受保护的void RegisterEndPointS(){ 0

string[]endpointBeanNames=context . getbeannamesforannotation(serverendpoint . class);

}

问题 2

连接错误导致断线。

在服务器的onMessage方法中引发一个未捕获的异常将触发onError事件,然后触发onClose事件。最终,客户端的onClose事件也会被触发。

客户端onMessage方法中异常不会触发其他监听事件。

00-1010代码云:源代码参考门户

实现当前在线号码显示。

引用WebController中的SendGroup可以转换为客户端的主动消息推送。

参考群消息可以转化为群聊和个人聊天。

参考:

HTML5网络套接字

SpringBoot如何返回页面

跳跳页面详细解释百里香叶

用JAVA分别实现网络套接字客户端和服务器端

文章结束了,喜欢的大家关注一下,谢谢大家的支持,谢谢!

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