XMLSocket通信服务器的设计规范.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
XMLSocket通信服务器的设计规范

XMLSocket通信服务器的设计规范 肖刚 云鹏 邱世耀 2009年3月28日星期六 任务描述 本设计的目的是为基于Flash前台的虚拟城市解决方案这个项目提供一个实时双向的、稳定的、安全的、高效的以及独立的分组通信服务器。基本的应用效果是为来自网络的通信客户端(Flash Socket或者Flash XMLSocket)提供分组挂载和组内的数据广播。数据全部采用XML格式,目前暂时采用明文的、非压缩的方式传输,但日后可能会改为加密的压缩的传输。围绕这一基本应用,本通信服务器实现以下一些功能: 随时侦听并处理客户端连接请求 处理安全策略请求(可通过XML文档配置安全策略) 处理登陆请求和退出请求。 提供树型结构的分组(可通过XML文档进行配置) 处理客户端的挂载请求,并将挂载信息广播给相同节点的所有客户端(即同组客户端,不包括子节点的客户端),退出节点时亦作相同的处理。 为客户端提供组内广播、组内p2p的通信功能,但不需也不应关心通信的具体内容。 每个客户端都能在服务器上存储和读取临时数据。 提供日志功能,以便掌握和分析服务状况。 提供基本的管理操作界面以及管理功能:显示在线状态,进出动态,踢人,黑名单,管理员向客户端发送简短信息功能。 处理各种通信异常,保证任何方式接入的任何客户端的任何操作以及任何故障都无法破坏服务器的稳定高效运行。 对通信服务器的一些设计要求 实时双向性 这里说的实时双向性是指任何通信请求应以最快的速度处理,不管是服务器还是客户端都可以主动发起通信,且接收端无须主动调用或者说刷新就可收到信息的通信方式。这一要求是针对web服务器被动处理请求的不足而提出的。实时双向通信使得各种要效率的网页实时互动成为可能。采用Socket通信即可满足本要求。 稳定性 服务器程序必须是健壮的,稳定的。在连接负荷比较大的情况下仍能稳定运行。在实际应用中,要保证服务器持续运行几个月甚至几年的时间也不会宕机。 安全性 保证服务器的安全以及其他客户端信息的安全,不允许任何客户端访问超过其权限范围的数据。客户端的连接也需要帐号的认证。 高效性 服务必须是高效的。对此的要求视具体的应用情况而随时修改,就目前而言,尚无具体要求。 独立性 通信服务器应专注于模式化的通信服务。通信服务器应独立于任何客户端而存在,也不能假设客户端应用情况,通信的顺序以及通信的内容。服务的模式仅为:服务器命令调用、分组与分组管理、同组广播、同组点对点通信、临时数据读写服务、服务器主动式广播、通知与警告信息等。 可提供基本的服务器管理统计分析等功能,但这一部分功能应与前面的功能分离,使得将来改为其它任何形式的管理界面甚至取消管理功能成为可能。 通信格式 通信服务器提供Socket通信服务,默认开启的端口为2008,端口号应可设置,但应大于1024且不与常用端口冲突。 通信服务器接受和发送的信息都为UTF-8 bigEndian格式的XML数据,以”\0”字符作为一条信息的结束。如果不是这个格式的数据,则会被服务器拒绝,Flash的XMLSocket发送和接收的就是这个格式的数据(包括”\0”),所以它与Flash XMLSocket可以实现无缝连接。为了将来可能增加压缩与加密功能,故目前客户端采用String类型数据尾加”\0”字符的方式,目前的效果与XMLSocket相同。 服务器能接受并做出相应处理的XML格式及相应的处理如下: 安全访问策略请求 policy-file-request / 若服务器收到这个消息,表明客户端需要获取跨域访问策略。此时,服务器应发回一个安全访问策略文件给用户,这个策略文件应来自crossdomain.xml文件。其参考内容为: cross-domain-policy allow-access-from domain= to-ports=2008 / allow-access-from domain=*. to-ports=507,516 / allow-access-from domain=*. to-ports=516-523 / allow-access-from domain= to-ports=507,516-523 / allow-access-from domain= to-ports=* / /cross-domain-policy 客户端收到策略文件后,将自动断开这个连接,若为允许访问,则会重新启动一个新的连接到服务器上。 消息确认 除了安全访问策略请求之外的所有正常消息,都将带有id属性,表示消息编号,如 mount id=”messageID” paramater=”^/abc/d”/ 此时服务器在正确接受并处理完这个消息之后应回个确认消息,其格式为: a

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档