amfast文档翻译——messagingserver(二)

本文介绍如何使用AMF协议中的connection对象存储会话数据,包括RemoteObject和NetConnection的会话管理方式,并探讨了不同类型的连接管理器和订阅管理器的选择。此外还涉及了消息广播、认证及AMF服务器端配置等内容。

存储session数据

  • 使用connection对象存储session数据

1、RemoteObject 的session 数据

  • 客户端使用RemoteObject连接服务器端时,AMFast 会自动为 RemoteObject 创建一个 connection对象 。
  • simomo:这里connection是用来存储session数据的。注意:需要用ExtCallableTarget而不是CallableTarget来解析AMF 包或消息,这样才能使用connection对象。

 

# Use ExtCallableTarget to expose Packet and Message objects.
def remote_function(packet, message, *args):
    # Get a Connection object from a Flex message.
    my_flex_message = message.body[0]
    connection = my_flex_message.connection

    connection.setSessionAttr('new_attr_name', 'value')
    val = connection.getSessionAttr('new_attr_nam')

 2、NetConnection的 session 数据

  • 在客户端使用NetConnection连接服务器端时,也可以使用connection对象存储session数据,不过需要你手动创建connection对象。
  • simomo:connection_id貌似是对应的flex NetConnection对象中id属性

 

# To store session data with NetConnection,
# the Connection object will need to be created manually,
# and the connection id will have to be passed as an argument
# or as a Packet header.
def remote_function(packet, message, connection_id):
    try:
        connection = packet.channel.channel_set.getConnection(connection_id)
    except amfast.remoting.channel.NotConnectedError:
        connection_id = packet.channel.channel_set.generateId()
        connection = packet.channel.connect(connection_id)

3、持久连接和订阅数据(Persistent Connection and Subscription Data)

  • 默认情况下,通道集(ChannelSet)使用基于内存的连接管理器(MemoryConnectionManager)和基于内存的订阅管理器(MemorySubscriptionManager),将连接(Connection)信息和消息(Message)信息存储在内存中。simomo:以下的三组连接管理器/订阅管理器也是可供选择的。
  • 使用GAE连接管理器(GAEConnectionManager)和GAE订阅管理器(GAESubscriptionManager)将链接信息和消息信息存储在GAE DataStore中。
  • 使用Sa连接管理器(SaConnectionManager)和Sa订阅管理(SaSubscriptionManger)将连接信息和消息信息存储在SQL数据库中
  • 使用Memcache连接管理器(MemcacheConnectionManager)和Memcache订阅管理器(MemcacheSubscriptionManager)将链接信息和消息信息存储在Memcache缓存系统中
  • simomo:总共四种备选方案。

 

生产者/消费者消息传递(Consumer/Producer Messaging)

  • 通道集(ChannelSet)负责该通道集中的所有通道(Channel)的Flex 消息的订阅和广播。
  • 在下面的例子中,消息的消息体是一个字符串,这个消息体也可以是一个python对象。
  • simomo:由例子可见,从服务器端直接广播消息也是很容易实现的

认证(Authentiction)

  • 不论是RemoteObject连接 还是 NetConnection连接,都可以使用认证功能
  • 目标对象(Target)和 消息客户端(MessageAgent)都可以很安全
  • simomo:channelset需要使用AuthChannelSet,target的secure属性要为True,Channel_set的subscription_manager.secure 也要为True

配置AMF服务器端(Config Endpoint)

  • 通道(Channel)对象使用端点(Endpoint)对象编码/解码自己收到的消息

  • 通过配置通道的端点对象,使得每个通道以用户自定义的方式进行对象的序列化和反序列化

1、Amf端点(AmfEndpoint)

  • Amf端点(AmfEndpoint)使用Amfast内置的编码/解码器

  • 在 编码与解码 内容中有详细介绍编码、解码和自定义对象的编码、解码

2、PyAmf端点(PyAmfEndpoint)

  • PyAmf端点使用纯python编写的编码器、解码器
  • 可以去PyAmf的官网了解其编码器、解码器的细节(simomo:被墙了,需要翻*墙才能上)
  • 在 编码与解码 内容中有详细介绍编码、解码和自定义对象的编码、解码

 

 

 随后补充例子代码。该死的360浏览器,例子代码没法自动换行!

 

 

 

源码直接下载地址: https://pan.quark.cn/s/a4b39357ea24 标题中的“mac驱动兼容win11系统驱动适配版本bootcamp_5.1.5640”明确指出这是一个面向苹果Mac电脑用户的产品,其核心目的是协助用户在Windows 11操作系统上完成驱动程序的安装与配置工作。BootCamp作为苹果公司推出的一项工具,赋予Mac用户在不移除原有macOS系统的前提下,安装并执行Windows操作系统的能力。此特定版本的BootCamp 5.1.5640是专门针对Windows 11环境进行优化的驱动适配版本。 描述部分提及的“mac装win11适配的驱动包”,表明这个压缩文件内含了适配Mac硬件在Windows 11操作系统下运行的驱动程序,涵盖显卡、声卡、网卡等关键设备。用户需首先对文件进行解压缩操作,随后在BootCamp文件夹中找到名为"BootCamp.msi"的安装文件,通过双击执行来启动安装流程。这一步骤是BootCamp驱动安装过程中的核心环节,其中msi文件代表Microsoft Installer格式,其功能在于应用程序的分发与管理。 “BootCamp”标签进一步验证了该压缩包的主要功能,即借助BootCamp服务实现Mac设备与Windows系统之间的硬件兼容性。BootCamp的功能不止于提供驱动程序,还集成了一个引导管理器,允许用户在系统启动时选择运行macOS或Windows。 在压缩包的文件清单中: 1. "AutoUnattend.xml":该文件通常作为无人值守安装的配置文档,旨在自动执行Windows安装过程中的部分或全部设置任务,如用户账户的建立、地区设定的调整、网络配置等,从而提升安装的便捷性。 ...
内容概要:本文围绕“面向光储充一体化社区的有序充电策略研究”展开,提供了基于Matlab的代码实现方案。研究旨在构建整合光伏发电、储能系统与电动汽车充电管理的社区综合能源系统,通过设计先进的优化调度算法,对电动车辆的充电行为进行有序引导,从而提升可再生能源的就地消纳能力,降低对主电网的冲击,提高整体能源利用效率。文中详细阐述了系统架构与数学模型,综合考虑了光照强度、居民用电负荷、分时电价机制、用户充电偏好及电池状态等多重因素,建立了以经济成本最低、光伏利用率最高和负荷波动最小为目标的多目标优化模型,并采用高效的优化算法求解最优充电调度方案。通过Matlab平台进行仿真验证,结果表明所提出的有序充电策略能有效削峰填谷,促进能源的本地平衡与高效利用,具有良好的应用前景。; 适合人群:具备一定电力系统、新能源技术、优化理论或自动化控制背景,从事相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 深入探究光储充一体化系统的协同运行机制与多目标优化调度方法;② 学习并复现基于Matlab的有序充电策略建模、算法实现与仿真分析全过程;③ 为城市社区、商业园区等场景下的微电网能量管理系统(EMS)设计与实际部署提供理论依据和技术参考。; 阅读建议:建议读者结合提供的Matlab代码,深入理解模型构建与算法实现细节,重点关注目标函数的设计思路、各类物理与操作约束的数学表达以及仿真结果的对比分析,以便全面掌握该有序充电策略的核心思想、优化逻辑及其在实际应用中的潜力与局限性。
内容概要:本文档聚焦于基于IEEE 9节点低惯量电力系统的构网型变流器控制技术研究,系统复现并对比了下垂控制、虚拟同步机控制(VSM)、匹配控制以及可调度虚拟振荡器控制(dVOC)在电磁暂态过程中的动态性能。通过Matlab/Simulink仿真平台构建了完整的混合拓扑系统模型,重点分析各类先进控制策略在提升系统频率与电压支撑能力、增强动态响应及稳定性方面的表现,尤其适用于高比例新能源接入导致系统惯量下降的场景。文档不仅提供了详细的控制算法实现方法,还涵盖了现代控制理论与优化算法在电力电子、微电网及综合能源系统中的应用,具有较强的科研仿真与工程实践指导意义。; 适合人群:面向具备电力系统、电力电子、自动控制等相关专业背景,从事新能源并网、微电网运行控制、变流器建模与仿真等方向研究的研究生、高校科研人员及电力行业工程技术人员。; 使用场景及目标:①深入理解构网型变流器在低惯量系统中的控制机理与建模流程;②为电力系统电磁暂态仿真、新型控制策略开发与性能验证提供可运行的代码级参考;③支持高水平学术论文复现、科研课题攻关及实际工程方案的设计与优化。; 阅读建议:建议结合Matlab/Simulink环境动手实践,逐模块调试仿真模型,重点关注控制器参数整定与系统动态特性的关联,并可进一步结合文档中提及的其他先进控制与智能优化方法开展拓展性研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值