有些时候需要服务器广播数据给所有连接上的客户端,这里就用到了广播的概念
广播其实SharedObject的时候已经讲过了一种实现,就是把数据放到remote SharedObject中,当数据改变了,自然所有客户端都会onSync
这里再讲一种用call来实现的:
下边是很常见的一个情况,当某人下线了的时候要通知所有客户端,某某已经下线了
server端:
application.onDisconnect=function(newClient){
//遍历客户端列表,分别call他们
for(var i=0;i<application.clients.length;i++) {
application.clients[i].call("client_fun",null,sendvar);
}
}
Client端:
nc.client_fun=function(myvar){....... }
这个自己完善一下吧,这里就不贴fla了
还有:
关于广播,不只有服务器端广播给所有客户,还有可能 某一个客户端对所有客户端直接进行广播,当然上边的例子你如果都看懂了的话,你已经可以自己做 某一个客户端对所有客户端的广播了。怎么做?
第1步 某一个客户端呼叫服务器
第2步 服务器广播给所有客户端
这样就形成了,某客户端对所有客户端的广播,当然如果你能细心的耐心的看看帮助的话,你会发现Shared Object 和 NetStream都有send方法就是做这件事的,而且更为简洁,服务端不用写代码 :)
好了,看到这里,fms常用的大部分概念都说到了,这个教程也就基本结束了,想学更多的,你可能需要多翻翻手册,多找找教程,英文有不少很好的教程进阶,下边我也会贴些资源。
广播其实SharedObject的时候已经讲过了一种实现,就是把数据放到remote SharedObject中,当数据改变了,自然所有客户端都会onSync
这里再讲一种用call来实现的:
下边是很常见的一个情况,当某人下线了的时候要通知所有客户端,某某已经下线了
server端:
application.onDisconnect=function(newClient){
//遍历客户端列表,分别call他们
for(var i=0;i<application.clients.length;i++) {
application.clients[i].call("client_fun",null,sendvar);
}
}
Client端:
nc.client_fun=function(myvar){....... }
这个自己完善一下吧,这里就不贴fla了
还有:
关于广播,不只有服务器端广播给所有客户,还有可能 某一个客户端对所有客户端直接进行广播,当然上边的例子你如果都看懂了的话,你已经可以自己做 某一个客户端对所有客户端的广播了。怎么做?
第1步 某一个客户端呼叫服务器
第2步 服务器广播给所有客户端
这样就形成了,某客户端对所有客户端的广播,当然如果你能细心的耐心的看看帮助的话,你会发现Shared Object 和 NetStream都有send方法就是做这件事的,而且更为简洁,服务端不用写代码 :)
好了,看到这里,fms常用的大部分概念都说到了,这个教程也就基本结束了,想学更多的,你可能需要多翻翻手册,多找找教程,英文有不少很好的教程进阶,下边我也会贴些资源。
本文转自 OldHawk 博客园博客,原文链接:http://www.cnblogs.com/taobataoma/archive/2007/10/19/930328.html
,如需转载请自行联系原作者