当前位置 :主页>知识堂>FMS教程>列表

轻松搭建Flash Media Server聊天室

时间:2008-06-09 来源:www.flashmx.com  作者:flashmx   点击:
    核心提示:户端的someoneTalk实际上是触发了服务器端的application.broadcastMsg,同时再回调客户端预定义的talk函数并显示消息,便搭成了聊天室。

  客户端预定义talk函数响应来自服务器端的消息,服务器端用application.broadcastMsg来广播客户端用户的someoneTalk。换句话说,客户端的someoneTalk实际上是触发了服务器端的application.broadcastMsg,同时再回调客户端预定义的talk函数并显示消息,便搭成了聊天室。
服务器端代码如下:
function broadcast (msg) { //trace(msg); application.broadcastMsg(’talk’, msg); }
客户端代码如下:
_nc = new NetConnection();
_nc.talk = function(msg) { msg_txt.text += msg + ‘\n’; };
_nc.connect(’rtmp://x/chat’);
talk_btn.onRelease = function() {
_nc.call(’someoneTalk’, null, name_txt.text, send_txt.text);
}
onKeyDown = function () {
if(Key.isDown(Key.ENTER)){ _nc.call(’someoneTalk’, null, name_txt.text, send_txt.text);
}
}
Key.addListener(this);
application.onConnect = function (client) { this.acceptConnection(client);
broadcast(’__ ‘ + client.ip + ‘ 进来了 __’);
}
application.onDisconnect = function (client) {
broadcast(’__ ‘ + client.ip + ‘ 出去了 __’);
}
Client.prototype.someoneTalk = function (n, w) {
broadcast(n + ‘(’ + this.ip + ‘) 说道: ‘ + w);
}

友情提示:
也可以用SharedObject的send方法向所有订阅此so的客户端发送消息以达到聊天的效果,但她无法有效地将当前聊天者的ip地址等信息广播出去。我已经试过了,谁要有兴趣的话也不妨试一试。

上一篇:FMS如何连接FlashRemoting?(附示例源码下载)     下一篇:没有了
版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。
转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。
特别注意:本站所提供的源文件,电子书,第三软件,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。
 评论内容:(最新评论共有 1) 位网友发表了评论不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码: 匿名? 马上注册
 
 
知识堂分类
 
本站所提供的所有素材版权归原作者所有,本站只供网友参考与交流,未经作者同意请勿用于商业用途
服务器带宽提供:零刻数据 本站CDN由海诺互动提供技术支持。 下载带宽支持:重庆万网
京ICP备08051668号