码迷,mamicode.com
首页 > 其他好文 > 详细

使用Firefly编写简易聊天室

时间:2014-09-19 18:53:55      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:style   http   os   使用   ar   for   文件   数据   div   

1.创建工程
命令行下输入firefly-admin.py createproject chat_rooms(linux在终端输入),
<ignore_js_op>
bubuko.com,布布扣

firefly会在C盘Users目录中的MSI文件夹下创建一个名为chat_rooms的工程
<ignore_js_op>
bubuko.com,布布扣


2.导入工程
将工程导入到eclipse中
<ignore_js_op>
bubuko.com,布布扣

3.配置参数
配置config.json中的相应参数
<ignore_js_op>
bubuko.com,布布扣

3.配置参数
配置config.json中的相应参数
<ignore_js_op>
bubuko.com,布布扣

master里面是端口配置:
    rootport 是master服务的管理端口,
    webport 是master服务的对外http端口,通过web接口实现对各个服务进程的管理。
server里面是服务器配置:
testserver是我们要运行的服务器,
netport为这个服务器监听的端口,
name为服务器名称,
app为启动时对应的文件路径和文件名,
app.server表示在app模块下的server文件。

(可配置多个服务,如网游开发时需要场景,聊天等多个服务器)
Ddb是数据库配置
    host是数据库服务地址
    user是数据库用户名
    passwd是数据库密码
    port是数据库连接端口
    db是数据库库名称
charset是数据库连接客户端编码
4.编写代码
在上面填写的server配置的app对应路径下建立server.py文件,代码如下
<ignore_js_op>
bubuko.com,布布扣

第3行,从firefly中引入netserviceHandle方法(此方法为firefly内部定义好的方法,可直接调用,具体作用为修饰游戏的逻辑代码,以本例来讲,服务器会监听1000这个端口,当客户端传来111这个指令号时,netserviceHandle会根据111去调用所有它修饰的方法中名称为xxx_111这个方法,本例就是speak_10001,所以游戏开发时,指令号一定要避免重复)。
第7行和16行分别定义连接建立和连接断开(即用户上线下线)后执行的操作
第23,24两行将上面自定义的方法绑定到框架中
第26行,将netserviceHandle作为修饰器修饰下面要定义的函数
第27行,定义speak_10001这个方法来处理来自客户端的请求
这样一个最简单的聊天服务器就搭建好了,启动它,它会一直监听1000这个端口,当有客户端发来消息时,它会将客户端发来的消息发送给在线的其他用户,实现聊天功能。
5.检验服务器
1)编写一个简易客户端,代码如下
<ignore_js_op>
bubuko.com,布布扣

<ignore_js_op>
bubuko.com,布布扣

客户端会在连接建立成功后,启用两个线程,一个执行发送消息的方法,一个执行接收消息的方法
2)运行服务器
<ignore_js_op>
bubuko.com,布布扣

红线部分说明name为chat的服务器已经开始工作
3)运行客户端
下面开始聊天,客户端1跟客户端2打招呼,客户端3乱入:
<ignore_js_op>
bubuko.com,布布扣

<ignore_js_op>
bubuko.com,布布扣

<ignore_js_op>
bubuko.com,布布扣

12.png (14.8 KB, 下载次数: 578)

下载附件  保存到相册

2013-10-14 10:31 上传

 


OK,服务器没有问题。

<ignore_js_op>bubuko.com,布布扣 chat_rooms.rar (3.26 KB, 下载次数: 201) 
<ignore_js_op>bubuko.com,布布扣 client.rar (852 Bytes, 下载次数: 185) 

使用Firefly编写简易聊天室

标签:style   http   os   使用   ar   for   文件   数据   div   

原文地址:http://www.cnblogs.com/123ing/p/3981864.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!