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

地区网站建设东莞东城邮编

地区网站建设,东莞东城邮编,WordPress集成插件,投稿网站引言 WebSocket 是一种在单个 TCP 连接上进行全双工通信的网络协议,它使得客户端和服务器之间能够进行实时、双向的通信,既然是通信协议一定要从发展历史到协议内容到应用场景最后到实战全方位了解 发展历史 WebSocket 最初是为了解决 HTTP 协议在实时…

引言

WebSocket 是一种在单个 TCP 连接上进行全双工通信的网络协议,它使得客户端和服务器之间能够进行实时、双向的通信,既然是通信协议一定要从发展历史到协议内容到应用场景最后到实战全方位了解

发展历史

WebSocket 最初是为了解决 HTTP 协议在实时通信方面的局限性而诞生的。在传统的 HTTP 通信中,客户端与服务器之间的通信是请求 - 响应模式,服务器只能在接收到客户端请求后才能发送数据给客户端,无法主动向客户端推送数据。随着 Web 应用对实时性要求的不断提高,如在线聊天、实时游戏、股票行情实时显示等场景的出现,WebSocket 协议应运而生,它于 2011 年被 IETF 定为标准 RFC 6455,并得到了各大浏览器和服务器的广泛支持。可以说websocket伴随着移动互联网的发展。

websocket的特征

  • 建立在 TCP 协议之上;

  • 与 HTTP 协议有着良好的兼容性:

  • 默认端口也是 80(ws) 和 443(wss,运行在 TLS 之上),并且握手阶段采用 HTTP 协议;

  • 较少的控制开销:连接创建后,ws 客户端、服务端进行数据交换时,协议控制的数据包头部较小,而 HTTP 协议每次通信都需要携带完整的头部;

  • 可以发送文本,也可以发送二进制数据;

  • 没有同源限制,客户端可以与任意服务器通信;

  • 协议标识符是 ws(如果加密,则为 wss),服务器网址就是 URL;

  • 支持扩展:ws 协议定义了扩展,用户可以扩展协议,或者实现自定义的子协议(比如支持自定义压缩算法等); 

应用场景

  • 即时聊天通讯

  • 弹幕展示

  • 实时地图位置

        

实战

实现websocket服务器

引入maven依赖

<dependency><groupId>org.java-websocket</groupId><artifactId>Java-WebSocket</artifactId><version>1.5.3</version>
</dependency>

实战代码

import org.java_websocket.WebSocket;
import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer;import java.net.InetSocketAddress;public class MyWebSocketServer extends WebSocketServer {public MyWebSocketServer(int port) {super(new InetSocketAddress(port));}@Overridepublic void onOpen(WebSocket conn, ClientHandshake handshake) {System.out.println("新的连接: " + conn.getRemoteSocketAddress());conn.send("欢迎连接到 WebSocket 服务器!");}@Overridepublic void onClose(WebSocket conn, int code, String reason, boolean remote) {System.out.println("连接关闭: " + conn.getRemoteSocketAddress());}@Overridepublic void onMessage(WebSocket conn, String message) {System.out.println("收到消息: " + message + " 来自: " + conn.getRemoteSocketAddress());conn.send("服务器收到消息: " + message);}@Overridepublic void onError(WebSocket conn, Exception ex) {ex.printStackTrace();if (conn != null) {// 处理错误}}@Overridepublic void onStart() {System.out.println("WebSocket 服务器已启动,监听端口: " + getPort());}public static void main(String[] args) {int port = 8887;MyWebSocketServer server = new MyWebSocketServer(port);server.start();}
}

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

相关文章:

  • 市网站建设怎么修改wordpress字体
  • 关键字挖掘爱站网定制开发网站如何报价
  • 淄博网站建设培训班百度指数明星人气榜
  • 阿里云有了域名 网站建设网站建设都需要哪些材料
  • 如何自己做视频网站有哪些做伦敦金的网站
  • 杭州做网站电话溧阳网站设计
  • 做搜狗pc网站优化点企业怎么建立网站
  • 绵阳安州区做网站的有哪些对网站建设的看法
  • 庆阳网站制作宿州网站制作建设
  • 南阳网站公司大连网站建设在线
  • 网站建设和维护要点南昌p2p网站专业建设
  • 宁波建网站方式长春大学
  • 文档分享类网站建设北京社区网站建设
  • 汽车行业网站建设维护服务秦皇岛网站制作
  • 做网站的企业学做吃的网站有哪些
  • 零基础可以用阿里云做网站吗com的域名是指商业网站的域名.
  • 商洛网站建设求职简历常用的网络营销的手段有
  • 网站加关键词wordpress移动应用
  • 织梦网站模板陶瓷学创杯营销之道模板
  • 一个企业官网多个营销型网站今天的新闻主要内容
  • 迪士尼网站是谁做的追设计网站
  • 网站建设与维护费用比较好的微网站开发平台
  • 网站首页布局自适应网站模板下载简单的那种
  • 旅游网站怎么用dw做固始县住房和城乡规划建设局网站
  • 黄河道网站建设公司广州自助公司建网站企业
  • 做网站哪里找做网站开发 用的最多的语言
  • 提交网站到谷歌ASP个人网站的建设
  • 番禺网站建设知乎个旧市做网站公司
  • 网站域名备案与解析建材行业网站建设
  • 最好的建设网站网站建设商城制作