手机版网站制作应用网店设计流程

diannao/2026/1/27 13:42:14/文章来源:
手机版网站制作应用,网店设计流程,wordpress淘宝,南京效果图制作WebSocket是一项很酷的新技术#xff0c;它允许浏览器与服务器之间进行实时双向通信#xff0c;而几乎没有开销。 我在这里想要做的是#xff0c;提供一个非常简洁但足够全面的概述#xff0c;以介绍如何开始使用该技术。 因此#xff0c;从以下几件事开始#xff1a; 在… WebSocket是一项很酷的新技术它允许浏览器与服务器之间进行实时双向通信而几乎没有开销。 我在这里想要做的是提供一个非常简洁但足够全面的概述以介绍如何开始使用该技术。 因此从以下几件事开始 在浏览器和服务器之间打开了一个tcp套接字连接并且各方可以向另一方发送消息即只要有可用服务器就可以推送数据-无需轮询长时间轮询iframe等。 并非所有浏览器都支持它-IE 10是第一个支持它的IE版本Android仍然存在问题。 幸运的是如果不支持WebSocket则可以使用SockJS 它可以回溯到其他推式仿真。 并非所有代理服务器都支持/允许它因此可能需要再次进行回退 适用于游戏交易应用程序以及实际上任何需要服务器将数据推送到浏览器的事物 Java具有标准的APIJSR-356 您可以在服务器上使用它来处理WebSocket连接。 Spring在Java API之上提供了一个 API。 spring支持的好处是它具有对SockJS的服务器端支持您可以轻松使用依赖注入。 Spring还为消息驱动的体系结构提供了STOMP支持 。 这两篇Spring文章都包含指向我推荐的GitHub示例项目的链接。 在继续一些示例代码之前这里是套接字的生命周期包括客户端和服务器假设上述API之一 浏览器发送带有特殊升级头的HTTP请求其值是“ websocket”。 如果服务器“说” webocket它将以状态101交换协议答复。 从现在开始我们不再使用HTTP 当服务器接受tcp套接字连接时将调用初始化方法并在其中传递当前的websocket会话。 每个套接字都有一个唯一的会话ID。 每当浏览器向服务器发送消息时就会在获取会话和消息有效负载的地方调用另一种方法。 基于某些有效负载参数应用程序代码执行几种操作之一。 有效负载格式完全取决于开发人员。 但是通常它是一个JSON序列化的对象。 每当服务器需要发送消息时它都需要获取会话对象并使用它来发送消息。 当浏览器关闭连接时会通知服务器以便它可以清除与特定会话相关的任何资源。 当前没有API或框架支持基于注释的路由。 Java API支持基于注释的终结点处理程序但是它为每个连接URL提供一个类并且通常您希望在单个连接上执行多个操作。 即您连接到ws//yourserver.com/game/然后要传递“ joinGame”“ leaveGame”消息。 同样服务器需要发回不止一种消息。 我的实现方式是通过一个枚举包含所有可能的动作/事件类型并使用switch构造确定要调用的内容。 因此我决定为我的算法音乐作曲家制作一个简单的游戏 。 它使用的是Spring API。 这是我在我所工作的公司中所做的相关演示的幻灯片 。 下面是一些示例代码 Component public class GameHandler extends WebSocketHandlerAdapter {private Map players new ConcurrentHashMap();private Map playerGames new ConcurrentHashMap();Overridepublic void afterConnectionEstablished(WebSocketSession session) throws Exception {Player player new Player(session);players.put(session.getId(), player);}Override public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {leaveGame(session.getId()); }Override protected void handleTextMessage(WebSocketSession session, TextMessage textMessage) throws Exception {try {GameMessage message getMessage(textMessage); //deserializes the JSON payloadswitch(message.getAction()) { case INITIALIZE: initialize(message, session); break;case JOIN: join(message.getGameId(), message.getPlayerName(), session); break;case LEAVE: leave(session.getId()); break;case START: startGame(message); break;case ANSWER: answer(message, session.getId()); break;}} catch (Exception ex) {logger.error(Exception occurred while handling message, ex);} } 让我们看一个示例服务服务器需要在其中向客户端发送消息。 让我们以一个玩家加入游戏为例而所有其他玩家都需要收到新的通知。 系统中的核心类是Game其中包含玩家列表并且如您所见Player包含对WebSocket会话的引用。 因此当玩家加入游戏时将调用以下Game方法 public boolean playerJoined(Player player) {for (Player otherPlayer : players.values()) {otherPlayer.playerJoined(player);}players.put(player.getSession().getId(), player);return true; } 然后player.playerJoined..通过基础连接发送一条消息通知浏览器新玩家加入 public void playerJoined(Player player) {GameEvent event new GameEvent(GameEventType.PLAYER_JOINED);event.setPlayerId(player.getSession().getId()); event.setPlayerName(player.getName());try {session.sendMessage(new TextMessage(event.toJson()));} catch (IOException e) {new IllegalStateException(e);}} 从服务器向浏览器发送消息也可能由计划的作业触发。 关键是要保留所有已连接浏览器的列表以便可以将信息发送回去。 该列表可以是一个静态字段但是对于单例spring bean则不需要。 现在两个重要方面–安全性和身份验证。 这是Heroku的一篇不错的文章 同时讨论了两者。 如果有任何敏感内容您应该首选wss相对于TLS它是websocket。 您还应该在两端验证您的输入并且不应该依赖Origin标头因为攻击者可能很容易欺骗浏览器。 身份验证可以依赖于HTTP会话cookie但是显然有些人更喜欢实现自己的类似于cookie的工作流以获取短暂的令牌该令牌可用于执行经过身份验证的操作。 WebSocket使DDD变得自然。 您不再需要使用贫血对象-您的对象具有各自的状态并且在该状态下执行操作。 与此相关的是websocket应用程序更易于测试。 这是开发WebSocket应用程序时要记住的一般事项。 请注意您不必在所有地方都使用WebSocket –我将其仅限于需要“推送”的功能。 总体而言WebSocket是一项很好的有趣技术有望淘汰所有hacky推送仿真。 参考来自Java出现日历博客的JCG合作伙伴 Glamdring的WebSocket和Java 。 翻译自: https://www.javacodegeeks.com/2013/12/websocket-and-java.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/87604.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做网站上传服务器做网站是否要去工商备案

一、前提 1、kafka安装包下载:http://kafka.apache.org/downloads 2、jdk已安装 3、scala已安装 4、zookeeper集群已安装并运行二、步骤 1、对kafka_2.9.2-0.8.1.tgz进行解压缩:tar -zxvf kafka_2.9.2-0.8.1.tgz。2、对kafka目录进行改名:mv …

外贸网站源码下载网站开通告知书

什么是EXP、POC、CVE: 在某个漏洞出现的时候,会经常看到 exp啊,poc啊什么鬼的, 那么这些究竟是什么东西?? 余弦大大说: POC 即 Proof Of Concept,观点验证程序。 运行这个程序就…

免费做产品宣传的网站网站keywords

十种排序算法&#xff1a;选择排序插入排序冒泡排序希尔排序快速排序的三种实现方法归并排序堆排序&#xff08;大顶堆&#xff09;计数排序基数排序&#xff08;待实现&#xff09;桶排序&#xff08;待实现&#xff09;#include <bits/stdc.h> using namespace std; vo…

站长之家域名查询济宁建站公司

有个逗号分隔的 txt&#xff0c;共 10 列&#xff0c;第 3 列有时候缺少分隔符&#xff0c;导致该列缺失&#xff0c;数据不齐只剩 9 列。比如最后两行&#xff1a; 01-0104-0133,MAYO, RONIE #2,202403,2024-03-21 22:51:43.000,1449.49,0.00,0.00,08,6CC6BDAC7E45 17-1782-02…

有专门做美发的网站吗网站seo优化综合服务公司哪家好

JVM—对象的创建流程与内存分配 创建流程 对象创建的流程图如下&#xff1a; 对象的内存分配方式 内存分配的方式有两种&#xff1a; 指针碰撞&#xff08;Bump the Pointer&#xff09;空闲列表&#xff08;Free List&#xff09; 分配方式说明收集器指针碰撞&#xff08…

网站项目建设策划方案wordpress比较好的建议

首先&#xff0c;来看下效果图 在线体验地址&#xff1a;https://geojson.hxkj.vip&#xff0c;并提供实时geoJson数据文件下载 可下载的数据包含省级geojson行政边界数据、市级geojson行政边界数据、区/县级geojson行政边界数据、省市区县街道行政编码四级联动数据&#xff0…

p2p商城网站建设方案招工 最新招聘信息

体育赛事运营是指组织体育赛事或获取赛事版权&#xff0c;并进行赛事推广营销、运营管理等一系列商业运作的运营活动。体育赛事运营相关业务主要包括赛事运营与营销、赛事版权运营两个部分。 体育赛事运营行业分类 资料来源&#xff1a;共研产业咨询&#xff08;共研网&#x…

cms企业网站源码搜狐快站建站

统计信息在oracle中是非常重要的模块&#xff0c;就好似打仗时的侦察兵&#xff0c;提前了解敌情&#xff0c;来帮助CBO更好地生成执行计划。下面是一些常用地查看统计信息的语句&#xff0c;希望能帮助到大家。 表统计信息查看 select t.owner, t.table_name, t.num_rows, t…

织梦做的相亲网站口碑营销的产品有哪些

Qt的信号与槽主要是为了对象之间的信号传递&#xff0c;以达到某种交互操作的功能。我按照自己的理解逐步实现这样的效果。 步骤一&#xff1a; 第一个类&#xff08;接收者&#xff09;的成员函数实现某种功能&#xff0c;第二个类&#xff08;发送者&#xff09;定义一个对象…

网站页面布局用什么做网站有备案是正规的吗

1&#xff0e;计算机网络拓扑的定义计算机网络设计的第一步就是网络拓扑设计。拓扑学是几何学的一个分支。计算机网络拓扑是通过网中结点与通信线路之间的几何关系表示网络结构&#xff0c;反映出网络各实体之间的结构关系。2&#xff0e;网络拓扑的分类网络拓扑可以根据通信子…

做网站的是什么职业直播网站功能怎么做

提出问题&#xff1a; 在写一个dao的时候&#xff0c;我的需求是这个dao是一个万能的&#xff0c;目前的方法只有一个查询出实体类对应的表中所有的数据&#xff0c;通过传入的对象&#xff0c;利用反射获取实体类中的属性名&#xff0c;属性类型&#xff0c;利用字符串拼接获取…

江门网站建设自助建站人工智能的关键词

一、引言 在Python编程中&#xff0c;循环是常见的控制流语句&#xff0c;它允许我们重复执行一段代码&#xff0c;直到满足某个条件为止。而在循环中&#xff0c;continue和break是两个非常重要的控制语句&#xff0c;它们可以帮助我们更加灵活地控制循环的行为。 二、contin…

七台河做网站dede模板

toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。例如将数据Num保留2位小数&#xff0c;则表示为&#xff1a;toFixed(Num)&#xff1b;但是其四舍五入的规则与数学中的规则不同&#xff0c;使用的是银行家舍入规则&#xff0c;银行家舍入&#xff1a;所谓银行家舍入…

网站提现功能开发手机软件公司

我们都知道VS能编写生成后事件&#xff0c;用于指定程序编译之后执行某些命令行&#xff0c;常见的如文件的拷贝、清理等等&#xff1b;那么&#xff0c;Qt能否支持支持在 .pro 文件中指定生成后事件呢&#xff0c;答案是肯定的。 下面是给出的一个简洁的例子&#xff1a; DEST…

济南小程序网站制作做网站租什么服务器

文章目录1. 题目2. 解题2.1 BFS2.2 Dijkstra 最短路径1. 题目 由空地和墙组成的迷宫中有一个球。 球可以向上下左右四个方向滚动&#xff0c;但在遇到墙壁前不会停止滚动。 当球停下时&#xff0c;可以选择下一个方向。 给定球的起始位置&#xff0c;目的地和迷宫&#xff0c…

公司网站做的好的百度网站优化方案

关于自身特点 1. 介绍下自己&#xff0c;讲一下在公司做的项目 2. 说一下熟悉的框架&#xff0c;大致讲下其特点 python 基础 1.可变与不可变类型区别 2.请解释join函数 3.请解释*args和**kwargs的含义&#xff0c;为什么使用* args&#xff0c;** kwargs&#xff1f; 4.解释…

自己做网站排名好吗祝明电子商务网站建设实验报告

文章目录 数据持久化简述基本使用与封装测试用例参考 数据持久化简述 数据持久化就是将内存数据通过文件或者数据库的方式保存到设备中。HarmonyOS提供两两种持久化方案&#xff1a; Preferences&#xff1a;主要用于保存一些配置信息&#xff0c;是通过文本的形式存储的&…

做网站自动上传文章黄石专业网站建设推广

git config --global http.postBuffer 1048576000

开发网站的过程the ken wordpress

在Linux中安装MySQL时创建专用的用户和用户组主要有以下几个原因&#xff1a; 安全&#xff1a; 分离权限&#xff1a;使用独立的MySQL用户和用户组运行MySQL服务&#xff0c;可以防止数据库进程以root或其他特权用户身份运行。这样即使MySQL服务器被攻击&#xff0c;潜在的危害…

河南营销网站建设联系方式wordpress百度音乐

这篇文章基于有关注册表安装及其工作方式等常见问题。以下是人们提出的主要问题&#xff1a; 1&#xff09;。 安装如何工作&#xff1f; 2&#xff09;。 Config Registry和Governance Registry有什么区别&#xff1f; 3&#xff09;。 可以将H2以外的数据库用于本地注册表…