开发者社区> 技术小甜> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Windows7(32bit)用Firefly创建第一个示例

简介:
+关注继续查看

安装完成Firefly之后,在python script包(即Scripts文件夹)中就存在 firefly-admin的工具。

创建第一个工程


打开命令行窗口,运行如下命令:


firefly-admin.py createproject chat_rooms


这样就创建好了chat_rooms的工程,工程目录结构如下:(后补充,今天晚上无法上传图片!)


注意到chat_rooms文件夹下存在一个文件startmaster.py,它正是工程的启动模块,建立工程后可以直接启动startmaster.py进行测试。


方法是以管理员方式启动并进行CMD窗口,然后运行如下命令:


python startmaster.py


第一次运行时,出现类似于下面的运行错误:

import os,sys,affinity
  File "build\bdist.win32\egg\affinity\__init__.py", line 15, in <module>
  File "build\bdist.win32\egg\affinity\__init__.py", line 15, in <module>
ImportError: No module named win32api
ImportError: No module named win32api

估计是没有安装pywin32所致。于是,下载并运行pywin32-218.win32-py2.7.exe。再运行上面的程序即OK。出现类似如下的等待状态。


C:\Python27\Scripts\chat_rooms>python startmaster.py
2014-12-17 22:03:15+0800 [-] Log opened.
2014-12-17 22:03:15+0800 [-] DelaySite starting on 9998
2014-12-17 22:03:15+0800 [-] Starting factory <firefly.web.delayrequest.DelaySite instance at 0x02953AF8>
2014-12-17 22:03:15+0800 [-] BilateralFactory starting on 9999
2014-12-17 22:03:15+0800 [-] Starting factory <firefly.distributed.root.BilateralFactory instance at 0x0295
2014-12-17 22:03:16+0800 [-] Log opened.
2014-12-17 22:03:16+0800 [-] Starting factory <twisted.spread.pb.PBClientFactory instance at 0x02A79468>
2014-12-17 22:03:16+0800 [-] Log opened.
2014-12-17 22:03:16+0800 [-] gate start...
2014-12-17 22:03:16+0800 [-] gate pid: 2712
2014-12-17 22:03:16+0800 [-] Starting factory <twisted.spread.pb.PBClientFactory instance at 0x02A09378>
2014-12-17 22:03:16+0800 [-] net start...
2014-12-17 22:03:16+0800 [-] net pid: 10700
2014-12-17 22:03:16+0800 [BilateralBroker,0,127.0.0.1] node [gate] takeProxy ready
2014-12-17 22:03:16+0800 [BilateralBroker,1,127.0.0.1] node [net] takeProxy ready


再以管理员方式启动并进行CMD窗口,然后运行如下命令:

python clienttest.py


此时,当前窗口(上面这个CMD)处于等待状态。上面第一个CMD窗口(SERVER)出现类似如下提示信息:

2014-12-17 22:31:31+0800 [firefly.netconnect.protoc.LiberateFactory] Client 1 login in.[127.0.0.1,42321]
2014-12-17 22:31:31+0800 [LiberateProtocol,1,127.0.0.1] call method echo_1 on service[single]
2014-12-17 22:31:31+0800 [LiberateProtocol,1,127.0.0.1] call method echo_1 on service[single]
2014-12-17 22:31:31+0800 [LiberateProtocol,1,127.0.0.1] call method echo_1 on service[single]
2014-12-17 22:31:31+0800 [LiberateProtocol,1,127.0.0.1] call method echo_1 on service[single]
2014-12-17 22:31:31+0800 [LiberateProtocol,1,127.0.0.1] call method echo_1 on service[single]
2014-12-17 22:31:31+0800 [LiberateProtocol,1,127.0.0.1] call method echo_1 on service[single]
2014-12-17 22:31:31+0800 [LiberateProtocol,1,127.0.0.1] call method echo_1 on service[single]

2014-12-17 22:31:31+0800 [LiberateProtocol,1,127.0.0.1] call method echo_1 on service[single]

......

这说明客户端与服务器端通信正常。


注意:clienttest.py文件位于tool目录下。


另外,config.json是用来描述服务端整体架构的配置文件(目前我没有作任何修改),可以在文件中配置添加新的服务进程,描述各个服务进程的连接结构。以及数据库配置和memcached缓存服务配置。


根据Firefly官方文档,app包中就是用来服务器逻辑的地方,app包中的apptest.py提供了测试服务器的处理方式。

于是,再启动一个CMD窗口,运行如下命令:

python apptest.py


可是出现如下错误提示:

Traceback (most recent call last):
  File "apptest.py", line 5, in <module>
    @netserviceHandle
  File "C:\Python27\lib\site-packages\firefly-1.3.3dev_r0-py2.7.egg\firefly\server\globalobject.py", line 40, in netserviceHandle
    GlobalObject().netfactory.service.mapTarget(target)
AttributeError: 'NoneType' object has no attribute 'service'

网络搜索一下,没有发现恰当答案,先等等再说吧。反正这个拦路虎是迟早要解决掉的......


















本文转自朱先忠老师51CTO博客,原文链接:http://blog.51cto.com/zhuxianzhong/1591199 ,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
在Windows Server系统上配置静态IP
在Windows Server系统上配置静态IP的方法
0 0
阿里云国际版Windows Server 2012更新时提示“8024400A"和"80072EE2”错误码
本文www.123clouds.com介绍阿里云国际版Windows Server 2012更新时提示“8024400A"和"80072EE2”错误码。
0 0
PVE安装Windows Server 2022最佳实践
由于PVE安装Windows Server 2022有概率会出现启动失败等情况,所以我在这里做一个记录,希望能帮助到更多的人。
0 0
阿里云国际版Windows系统提示找不到“Server Manager.lnk”
本文www.123clouds.com介绍阿里云国际版Windows系统提示找不到“Server Manager.lnk”的解决方法
0 0
Windows server 2012 设置开机自动登陆并启动启动程序
Windows server 2012 设置开机自动登陆并启动启动程序
0 0
Windows Server 2008 R2配置.Net环境
Windows Server 2008 R2配置.Net环境
0 0
windows server 2012 standard如何设置只能一个用户远程登录
windows server 2012 standard如何设置只能一个用户远程登录
0 0
内网部署Windows Server 2012的WSUS补丁服务器(下)
内网部署Windows Server 2012的WSUS补丁服务器(下)
0 0
内网部署Windows Server 2012的WSUS补丁服务器(上)
内网部署Windows Server 2012的WSUS补丁服务器
0 0
阿里云ECS的Windows Server 2012 R2使用体验 MIS 21101马芊芹(Hygge)
我,马芊芹,是来自湖南常德的一名大二学生,就读于国际学院的信息管理与信息系统专业,教育部明确规定了信管专业的培养目标是“从事信息管理以及信息系统分析、设计、实施管理和评价等方面的高级专门人才”,该专业的人才在社会各级各类组织中有着广泛就业前景和良好的职业成长性。这就要求我们既懂管理又懂计算机,虽然最后会授予管理学学位,但我更想成为一名程序员,往计算机方面发展。 我就读于中外合办专业,目前正在学习三门编程语言和一门网络概论,教我们网络概论的加拿大外教交给了我一项个人作业的任务,就是申请一个阿里巴巴的云服务器,使用Windows Server 2012 R2操作系统,在云服务器上安装IIS,
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载