轻松搭建Flash Media Server聊天室

点击: 核心提示:户端的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); }

posted @ 2009-05-17 12:24  Andy  阅读(648)  评论(0编辑  收藏  举报