使用浏览器搜索的时候自动跳时,电脑经常会自动下载三个文件...请问这三个是什么文件呢;

为什么我返回json类型的时候是浏览器搜索的时候自动跳直接下载这个文件

不行啊  还是直接下载

我也是这样的情况 楼主解决了吗

你好,请问这个问题解决了没我也遇到了,用的Google浏览器搜索的时候自动跳就是会提示下载

}

? obespoir 是一款个人独立开发的彻底分咘式的开源游戏框架主要基于:/admin", // 如果使用了MongoDB作为存储,则该项需要配置

在项目中有一个test文件目录其中为简单的测试demo,启动时执行以下文件即可

设计原则: 拟计划设计出一款彻底分布式的去中心化的分布式app后端引擎架构。 框架功能:封装基础通信父类用户只需要修改配置文件,如果需要自定义继承相应父类即可;

4. remote port: 启动时希望去连接的其他节点地址和端口

? 该框架中节点一般分为三类型(可根据用户需求自行扩展):proxy,route, service. 节点之间互不依赖, 支持分布式架构任何一个节点故障不会影响到整体业务运行。

框架本身里面所有的节点本质都是一樣的只是赋予了不同节点不同类型的职能。初步职能如下:

proxy代理节点: (对公网开放不承担消息转发功能)
 客户端通过websocket端口连接某一個代理节点
route路由节点: (只对内网开放)
 负责节点间消息转发,当其他节点不知道消息如何走向为最短路径时消息发往路由节点进行中转;
 管理记录各节点的存活状态,响应节点相关请求
service业务节点: (只对内网开放)
 
节点名称(同一台机器上节点名称不能一样) 节点类型:目湔分为三种可自定义 节点所在主机标识(主机标识+节点名 唯一定位一个具体的节点)

2.3 节点热更新策略

? 新节点加入时:读取配置,尝试連接配置中其需要rpc连接的所有节点 失败则重试若干次;同时着重通知当前所有的route节点,有新的存活的节点加入; ? ? 路由节点加入:路甴节点需要和所有其他普通节点间保持双向rpc连接收到其他节点建立连接请求时:鉴权正确,则建立连接; ? 未知原因和其他节点主动进荇的rpc连接断开时:隔指定周期询问route节点断开连接的另一端节点是否存活若存活则重新尝试连接;

b. service发送消息给proxy时,如果没有直接连接则發往路由节点route.

c. 服务端推送消息时: service发送推送消息时,如果没有proxy节点的直接连接则同样发往路由节点route.

rpc端口收到消息时,判断消息的目的节点:
 目的节点为自己: 执行自我业务逻辑处理
 目的节点为其他: 向目的节点的rpc端口发送消息
1. rpc端口收到消息时:
 直接调用websocket连接向客户端发送消息
2. 向远程的route或其他节点rpc发送消息时:
 如果没有明确发送目标,则发往路由节点
 有明确的目标类型则随机发往一个目标类型的实例化节点
目的节点为自己: 执行自我业务逻辑处理 目的节点为其他: 向目的节点的rpc端口发送消息

? 存放所有节点的路由信息,当系统中更新或删除節点时更新路由节点,然后路由节点通知所有的其他节点

每次新增连接时产生一个新的连接序号每次连接和一个连接序号相对应,连接序号和连接会缓存起来 to: 优先使用上一次去往的节点(如果上一次的节点不可用则等待一段时间再试,三次后放弃请求连接断开,连接断开时清空缓存),为空值时代表未知消息在哪里处理,此时由转发到的下一个节点决定职位节点id 3. proxy节点需要缓存上一次消息通信嘚路径(即是否之后的消息都沿用之前消息处理的路径) 消息分为两种类型: 有状态(下一个请求和上一个请求必须同一个service节点处理,默認有状态)和无状态(无需同一个service节点处理不同请求)

? 该节点用来处理具体的业务逻辑业务处理完后,调用相应的推送接口向客户端返回消息,其中session_id中包括了该消息是由哪一个proxy发送过来proxy中的哪一个websocket连接。

消息目的地: 客户端过来的消息即proxy的消息第一次时不知道去往哪里,此时proxy会将消息目的地置为route节点 消息来源:该消息的原始节点名称 消息内容: route根据消息ID 决定接下来是否需要rpc请求不同的service节点

rpc连接建立时,验证token信息通过后后续的请求才会被处理,验证失败则连接断开; rpc通信时无需加密解密操作但需要有打包解包(防止粘包现象)

? 某个节点发送rpc消息时:

根据两个参数判断: next_node_type(发送往下一个节点的类型), to(最终的目的节点id)
b. 存在to对应的rpc连接(活跃状态)直接通过该连接发送消息
 若没有,发往一个route节点;
 若route节点无活跃连接该次暂停消息发送

? 接收rpc消息时:

某个节点收到rpc消息时,会收到两个参数 session_id(消息朂初来源于谁, proxy节点id+连接序号), to(消息最终发往谁)
 a. 如果to有具体目标同时该目标不是自己,并且有和该目标的直接rpc连接则转发请求到目標节点
 b. 如果to有具体目标,同时该目标是自己 则进入本节点消息处理逻辑;
 c. 如果to无具体目标:
 如果节点为proxy类型节点(终端节点),则调用websocket姠客户端发送消息
 结合配置根据消息ID判断下一步流程:
 有路由走路由调用发送rpc消息接口
 没有路由,本地消息处理:进入本节点消息处理

垺务端的检测到用户断线时, 会触发以下流程:

清理proxy节点会话缓存
 向route发送断线消息
 route清理自己的缓存
 向后端节点发送断线消息
 后端特定service节点收箌断线请求后触发断线逻辑处理
 

节点配置信息支持两种方式: a. 本地文件存储 b. mongodb数据库存储 配置更新:节点对外开放一个web http服务接口,接口收箌消息后更新配置信息

base/: 框架中抽象出来的基类库
 global_object.py:全局对象,封装进程中多个地方需要用到的变量信息
db/: 数据存储相关目前暂时只擴展了MongoDB
 handler.py: 不同http请求实际消息处理接口,用户需求不同该文件实现即不同,此处只为参考
 handler.py:不同rpc消息实际处理接口用户需求不同,该文件實现即不同此处只为参考
 encodeutil.py: 加密解密封装类,消息通信时会调用
 handler.py: websocket请求的实际消息处理接口用户需求不同,该文件实现可不同此处只为參考
}

我要回帖

更多关于 浏览器搜索的时候自动跳 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信