【Egret】WebSocket 的使用说明】的更多相关文章

概念 本教程不讲解TCP/IP协议,Socket属于哪层,消息包体怎么设计等,主讲 egret.WebSocket 使用示例 与 protobuf 使用示例. 在使用egret.WebSocket之前需要简单讨论了解目前几种通信模式. HTTP 网站中常见的一种传输协议,用于访问页面或资源时,向页面所在的服务器发送一个 HTTP 请求.服务器识别请求,返回响应数据并关闭连接.这过程中客户端不请求,服务器不能主动推送消息到客户端.早些的游戏通过轮训以及 AJAX 实现了不需要手动刷新程序内部轮训请…
在Egret里可以使用WebSocket ,也可以使用socket.io 首先先深入了解一下 WebSocket 在Egret里的机制,看这篇文章: 主要讲解Egret里使用WebSocket和protoBuf http://www.cnblogs.com/yangxiao/p/4686729.html…
教程目录一 protobuf简介二 使用protobuf三 Demo下载 参考: CSDN:Egret项目中使用protobuf(protobufjs) TS项目中使用Protobuf的解决方案(babel) 在cocos creator中使用protobufjs layabox:网络和格式--ProtocolBuffer egret protobuf(egret官方提供的工具,自动配置和生成) protobuf简介百度百科:protocolbuffer(以下简称PB)是google 的一种数据…
Egret官方提供了一个Websocket的库,可以让我们方便的和服务器长连接交互. 标题写的时候自定义websocket的协议格式.解释一下,不是说我们去动websocket本身的东西,我们是在websocket的传输内容里面约定一套服务器和客户的交互格式. 捋一下思路: 选择序列化的方式 约定一个交互格式 封装一个简单的NetMgr(网络管理类) 选择序列化方式: 目前主流的序列化方式一般就三种 xml json protobuf,经过考虑,我决定选择json,原因是:1.对复杂的格式支持比…
前面一篇博文介绍了在 SpringBoot 中使用 Filter 的两种使用方式,这里介绍另外一种直接将 Filter 当做 Spring 的 Bean 来使用的方式,并且在这种使用方式下,Filter 的优先级可以直接通过@Order注解来指定:最后将从源码的角度分析一下两种不同的使用方式下,为什么@Order注解一个生效,一个不生效 本篇博文强烈推荐与上一篇关联阅读,可以 get 到更多的知识点: 191016-SpringBoot 系列教程 web 篇之过滤器 Filter 使用指南 I.…
本篇可以归纳在性能调优篇,虽然内容非常简单,但效果可能出乎预料的好: 分享一个真实案例,我们的服务部署在海外,国内访问时访问服务时,响应有点夸张:某些返回数据比较大的接口,耗时在 600ms+上,然而我们的服务 rt 却是在 20ms 以下,绝大部分的开销都花在了网络传输上 针对这样的场景,除了买云服务商的网络通道之外,另外一个直观的想法就是减少数据包的大小,直接在 nginx 层配置 gzip 压缩是一个方案,本文主要介绍下,SpringBoot 如何开启 gzip 压缩 I. gizp 压缩…
java web三要素Filter, Servlet前面分别进行了介绍,接下来我们看一下Listener的相关知识点,本篇博文主要内容为SpringBoot环境下,如何自定义Listener并注册到spring容器 I. 环境配置 1. 项目搭建 首先我们需要搭建一个web工程,以方便后续的servelt注册的实例演示,可以通过spring boot官网创建工程,也可以建立一个maven工程,在pom.xml中如下配置 <parent> <groupId>org.springfra…
原文: 191122-SpringBoot系列教程web篇Servlet 注册的四种姿势 前面介绍了 java web 三要素中 filter 的使用指南与常见的易错事项,接下来我们来看一下 Servlet 的使用姿势,本篇主要带来在 SpringBoot 环境下,注册自定义的 Servelt 的四种姿势 @WebServlet 注解 ServletRegistrationBean bean 定义 ServletContext 动态添加 普通的 spring bean 模式 I. 环境配置 1.…
web三大组件之一Filter,可以说是很多小伙伴学习java web时最早接触的知识点了,然而学得早不代表就用得多.基本上,如果不是让你从0到1写一个web应用(或者说即便从0到1写一个web应用),在你的日常业务开发中不太可能碰到需要手写Filter的场景 本文将简单介绍写什么是Filter,以及在SpringBoot中使用Filter的一般姿势与常见问题 原文查看: SpringBoot系列教程web篇之过滤器Filter使用指南 I. 背景 在正式开始之前,有必要先简单看一下什么是Fil…
关于Web应用的全局异常处理,上一篇介绍了ControllerAdvice结合@ExceptionHandler的方式来实现web应用的全局异常管理: 本篇博文则带来另外一种并不常见的使用方式,通过实现自定义的HandlerExceptionResolver,来处理异常状态 上篇博文链接: SpringBoot系列教程web篇之全局异常处理 本篇原文: SpringBoot系列教程web篇之自定义异常处理HandlerExceptionResolver I. 环境搭建 首先得搭建一个web应用才…
当我们的后端应用出现异常时,通常会将异常状况包装之后再返回给调用方或者前端,在实际的项目中,不可能对每一个地方都做好异常处理,再优雅的代码也可能抛出异常,那么在 Spring 项目中,可以怎样优雅的处理这些异常呢? 本文将介绍一种全局异常处理方式,主要包括以下知识点 @ControllerAdvice Controller 增强 @ExceptionHandler 异常捕获 @ResponseStatus 返回状态码 NoHandlerFoundException 处理(404 异常捕获) 右键…
接着前面几篇web处理请求的博文,本文将说明,当出现异常的场景下,如404请求url不存在,,403无权,500服务器异常时,我们可以如何处理 原文友链: SpringBoot系列教程web篇之404.500异常页面配置 I. 环境搭建 首先得搭建一个web应用才有可能继续后续的测试,借助SpringBoot搭建一个web应用属于比较简单的活; 创建一个maven项目,pom文件如下 <parent> <groupId>org.springframework.boot</gr…
原文地址: SpringBoot系列教程web篇之重定向 前面介绍了spring web篇数据返回的几种常用姿势,当我们在相应一个http请求时,除了直接返回数据之外,还有另一种常见的case -> 重定向: 比如我们在逛淘宝,没有登录就点击购买时,会跳转到登录界面,这其实就是一个重定向.本文主要介绍对于后端而言,可以怎样支持302重定向 I. 环境搭建 首先得搭建一个web应用才有可能继续后续的测试,借助SpringBoot搭建一个web应用属于比较简单的活; 创建一个maven项目,pom文…
先用官方的脚本安装下docker curl -sSL https://get.docker.com/ | sh 安装docker-compose curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-…
socketket与lkdbhelper来处理数据 客户需求: 当我们有需要从自己的后台推送消息给我们的用户时,用户需要实时的接收到来自我们的推送消息.前提是没有使用第三方的推送框架,那么这个使用websocket来接收消息,app端把接收到的消息存储在本地的数据库,让我们直接从数据库去读取数据. SocketRocket是facebook基于socket进行的二次封装.下面是它的下载地址: facebook/SocketRocket LKDBHelper-SQLite-ORM这个第三方库,全自…
昨天因为需要开始学习Pomelo 做H5游戏的服务端. 因为个人学习习惯,我从来不适合去跟着文档看.一般我直接是看下大概的API,但是Pomelo的API全部都是英文的. 昨天我就告诉自己用一下午时间去做一个最基本的通信功能的DEMO. 安装NODE.JS  Phython VS 一切就绪之后就开始了. 转到目录下面,输入命令 就会创建一个Pomelo项目 ,之后会要求选择 个人理解就是通信方法把 . 选择好之后就会生成项目目录 目录结构就是这样的. 一开始我以为这样就可以了啊,但是后来发现不对…
•不知道有多人跟笔者一样,喜欢学各种技术,但是都不精,但也有一两项算是精的. 自从踏上了egret游戏开发的道路,就不得不学习各种技术了,因为,要精通egret,首先必须要会TypeScript,其次是JavaScript,如果只是简单点的HTML5游戏,那么学这两样就可以了. 如果,你想再对web页面美化一下,你就要学html标记语言还有css样式,这样,一款简单的单机游戏就可以上线了. 如果,你还想加个分数统计.数据采集之类的功能,那你就必须会一门动态网站语言了,php.jsp.asp.ne…
采用框架 我们整个Demo基本不需要大家花费太多时间,就可以实现以下的功能. 用户token登录校验 自我聊天 点对点聊天 群聊 获取在线用户数与用户标签列表 发送系统通知 首先,我们需要介绍一下我们今天打算采用的框架,InChat : 一个轻量级.高效率的支持多端(应用与硬件Iot)的异步网络应用通讯框架,采用这个框架,我们基本上只需要两三个类就可以实现我们今天需要的功能了. 先看看效果 需要了解SSM & SpringBoot 吗? InChat ,本身不依赖于任何的底层框架,所以大家只要会…
0.前言 这个星期没有什么事做,就想找点技术了解一下.前段时间看过Egret,用来开发HTML5小游戏.一开始以为很麻烦的,但是经过这两天了解了一下,如果用这个游戏引擎来开发一些简单的游戏,还是蛮方便的.为什么会了解这个,是因为有个同事是开发Android的,是开发那种普通APP,就是一些简单的界面,跟硬件收发一下数据,然后展现出来.总体开发没有难点的,就是用Android开发那种界面交互效果很差,好看一点的呢,开发效率又很低.我就跟他提出,可以用html5画一些界面和一些动画效果.经过这两天了…
最近因需要,入手H5游戏. 写游戏当然需要有引擎. H5游戏开发:游戏引擎入门推荐 如何选择 H5 游戏引擎 白鹭引擎和layabox哪个好用,哪个技术更成熟 ? LayaBox 与 Egret 选择哪个呢? Egret 4.1.6 和 LayaBox(LayaAir 2.0) 的 易用性 对比 经过初步分析和咨询,基本确认Egret和LayaAir, 个人讲真从官网和社区逛过后.真心喜欢LayaAir一些.但是最后还是选择了这一只白鹭. 要学习当然要有学习资源. Egret官网 其首页的新闻动…
浅谈白鹭Egret           最近在做一个移动项目,技术选型的时候接触到了白鹭,简单了解了之后觉得挺合适的,最终就选择了这个引擎. 为什么会选择白鹭引擎呢? 我看上他主要有一下几点:   1.egret的类结构以及继承关系跟as3的一模一样,很容易上手. 2.egret尽量保持每个类的属性方法跟as3的一样,这样子的话as3里的写法在egret里面同样使用. 3.egret已经有一套完整的工具,可以方便的开发html5应用,也可以方便的发布手机原生应用. 4.白鹭公司的积极努力,使得每…
mqtt.fx的安装和使用 https://blog.csdn.net/nicholaszao/article/details/79211965 EMO 使用说明 http://emqtt.com/docs/v2/getstarted.html 使用EMQ搭建MQTT服务器 https://blog.csdn.net/qq_37258787/article/details/79776663 MQTT--入门 https://blog.csdn.net/qq_28877125/article/de…
[egret+pomelo]学习笔记(1) [egret+pomelo]学习笔记(2) [egret+pomelo]学习笔记(3) 服务端的请求流程走完了一遍,下面就该看一下,在目前的服务端中,各服务端所提供的功能了. Gate:game-server/app/servers/gate/handler/gateHandler.js queryEntry(msg,session,next):注册服务端,返回分配的connector服务端地址 Connector:game-server/app/se…
WebSocketAPI xt为用户提供了一个简单的而又强大的API,旨在帮助用户快速高效的将xt交易功能整合到自己应用当中. WebSocket服务地址 xt WebSocket服务连接地址:wss://ws.xt.com/websocket 使用说明 以下API都可以在一个WebSocket 连接进行处理, 通过订阅报文中的action参数来订阅服务器数据.k线.盘口.交易记录数据三类数据服务器首先会返回一次全量数据,之后有新数据时会主动推送.订阅报文基础格式: {"dataType&quo…
前言 首先对于一个简单的聊天室,大家应该都有一定的概念了,这里我们省略用户模块的讲解,而是单纯的先说说聊天室的几个功能:自我对话.好友交流.群聊.离线消息等. 今天我们要做的demo就能帮我们做到这一点啦!!! 采用框架 我们整个Demo基本不需要大家花费太多时间,就可以实现以上的几个功能. 首先,我们需要介绍一下我们今天打算采用的框架,InChat : 一个轻量级.高效率的支持多端(应用与硬件Iot)的异步网络应用通讯框架,采用这个框架,我们基本上只需要两三个类就可以实现我们今天需要的功能了.…
坚持做一件事真的好难~ 决定重新写博客的时候想着一定要坚持一个周一篇,然而.... 年后上班老板找我的第一件大事:以后公司的棋牌产品不会有大的动作了:公司PHP(内部用的运营后台)的小姐姐休产假了,我暂时接手她的工作:以后公司会向着其他游戏方向发展,想让我去学习cocos: 写了egret 半年了,伴随着今天最后一个egret棋牌游戏上线,也就宣告着我的egret生涯暂时告一段落了,今天写点东西算是纪念一下吧. 一.因为是做的h5游戏,跑在微信浏览器里面的,所以前端出身的我还是有一点点优势的,尽…
前言 作为Web应用中最常见的数据传输协议之一的Websocket,在我们日常工作中也势必会经常使用到,而在调试或测试中我们常常也有直接改变Websocket数据报文以确认其对应用的影响的需求,本文将介绍一种灵活方便的方式篡改Websocket收发的数据. 之前的文章里已经提到了如何利用FreeHttp修改HTTP的请求/响应报文,其实借助FreeHttp同样可以对Websocket数据报文做任意修改.(事实上burp suite 及 fiddler 的script 等工具也是可以完成的) Fr…
本文作者:星空无限 原文链接:https://liyangzone.com/2020/09/20/前端/sync-player/ GoEasy已获作者授权转载,GoEasy转载时有改动,感谢作者的分享. 前段时间我有这样一个需求,想和一个异地的人一起看电影,先后在网上找了一些方案,不过那几个案都有一些缺点 coplay: 一个浏览器插件,只能播放各大视频网站的视频,视频资源有限,我想要看的视频没有,比如一些经典电影和美剧之类 微光APP: 还是上面的问题,而且只有手机端 向日葵等远程桌面: 受限…
Http被设计成了一个单向的通信的协议,即客户端发起一个request,然后服务器回应一个response.这让服务器很为恼火:我特么才是老大,我居然不能给小弟发消息... 轮询 老大发火了,小弟们自然不能无动于衷,为了能及时获得老大的消息,小弟们只好每隔一段时间跑去老大那里问问,有没有新的指示发出.这便是最早实现实时获得服务器数据的技术轮询(Polling). 客户端通过ajax不停去向服务器获得数据,检查是否有新的数据更新.这种使用轮询实现一种伪实时的状态很容易,但效率偏低,一般而言,这种实…
在上一篇提高到了 web 通信的各种方式,包括 轮询.长连接 以及各种 HTML5 中提到的手段.本文将详细描述 WebSocket协议 在 web通讯 中的实现. 一.WebSocket 协议 1. 概述 websocket协议允许不受信用的客户端代码在可控的网络环境中控制远程主机.该协议包含一个握手和一个基本消息分帧.分层通过TCP.简单点说,通过握手应答之后,建立安全的信息管道,这种方式明显优于前文所说的基于 XMLHttpRequest 的 iframe 数据流和长轮询.该协议包括两个方…