Flash Media Server 起步(6)写个简单的聊天室
该页内容已经修改并整理到了fms入门教程内,您可以点击下边的链接查看最新修改的内容
http://www.nshen.net/blog/article.asp?id=509
说明:很简单的东西,基本上就是共享对象的运用,没有用到服务器端,大型聊天室可能不会这么做,这个只适用于初学者:/
注释很详细,不说多了:
原文件
http://www.nshen.net/blog/attachments/200602/smallchat.fla
http://www.nshen.net/blog/article.asp?id=509
说明:很简单的东西,基本上就是共享对象的运用,没有用到服务器端,大型聊天室可能不会这么做,这个只适用于初学者:/
注释很详细,不说多了:
//用户名
myname="游客"
//建立连接
var myNC = new NetConnection();
myNC.connect("rtmp://localhost/smallchat");
//搞到rso
Talk_SO = SharedObject.getRemote("Talk", myNC.uri, false);
Talk_SO.onSync = function() {
//先把聊天文本框清空
remoteText.text = "";
//把聊天列表显示出来,talklist的格式就是[谁谁说:啊啊啊,谁谁谁说:2222]
var t = this.data.talklist;
for (var i = 0; i<t.length; i++) {
writeln(t[i]);
}
};
Talk_SO.connect(myNC);
//发消息函数
function post() {
//如果不存在talklist就建一个,这里没用server端,是个技巧
if (Talk_SO.data.talklist[0] == undefined) {
Talk_SO.data.talklist = [];
}
//限制数组长度,是个队列。保证里边有5条消息,当然也可以更多,但如果没有限制,flash会垮的
if (Talk_SO.data.talklist.length>=5) {
Talk_SO.data.talklist.shift();
}
//把消息装到so里
Talk_SO.data.talklist.push(myname+"说:"+meText.text);
meText.text = "";
}
//文字显示,换行
function writeln(msg) {
remoteText.text += msg+"/n";
remoteText.vPosition =remoteText.maxVPosition
}
//-----------------------------------------------
Btn.onRelease = function() {
post();
};
this.onKeyDown = function() {
if (Key.isDown(Key.ENTER)) {
post();
}
};
Key.addListener(this);
myname="游客"
//建立连接
var myNC = new NetConnection();
myNC.connect("rtmp://localhost/smallchat");
//搞到rso
Talk_SO = SharedObject.getRemote("Talk", myNC.uri, false);
Talk_SO.onSync = function() {
//先把聊天文本框清空
remoteText.text = "";
//把聊天列表显示出来,talklist的格式就是[谁谁说:啊啊啊,谁谁谁说:2222]
var t = this.data.talklist;
for (var i = 0; i<t.length; i++) {
writeln(t[i]);
}
};
Talk_SO.connect(myNC);
//发消息函数
function post() {
//如果不存在talklist就建一个,这里没用server端,是个技巧
if (Talk_SO.data.talklist[0] == undefined) {
Talk_SO.data.talklist = [];
}
//限制数组长度,是个队列。保证里边有5条消息,当然也可以更多,但如果没有限制,flash会垮的
if (Talk_SO.data.talklist.length>=5) {
Talk_SO.data.talklist.shift();
}
//把消息装到so里
Talk_SO.data.talklist.push(myname+"说:"+meText.text);
meText.text = "";
}
//文字显示,换行
function writeln(msg) {
remoteText.text += msg+"/n";
remoteText.vPosition =remoteText.maxVPosition
}
//-----------------------------------------------
Btn.onRelease = function() {
post();
};
this.onKeyDown = function() {
if (Key.isDown(Key.ENTER)) {
post();
}
};
Key.addListener(this);
原文件
http://www.nshen.net/blog/attachments/200602/smallchat.fla