9月 262013
 

客户端如何与服务端之间建立连接上次已经说了。今天主要说说客户端如何与服务端通信的。简单的说就是用使用什么方法,怎么处理。
先说客户端呼叫服务端。如果不使用共享对象,客户端呼叫服务端,就一个方法:call。call方法里边,第一个参数是服务端的方法名字,第二个参数是Responder对象(可以为空,就不需要返回了),后边的参数是任意的。可以带数值类型,object,array都可以。如:

            var songName:String = "痛彻心扉";
            var obj:Object = {nickName:"vini",age:28};
            var arr:Array = [1985,10,24];
            nc.call("iWantSing",null,songName,obj,arr);

Continue reading »

9月 162013
 

差不多一年的时间没有碰FMS了,最近又弄了下。做一个拥有共享画板,在线语音,支持留言,四种权限控制的工具。如果再完善点,可以作为简单的视频会议工具了。其实,最想做的就是做一个有P2P的多人视频唱歌工具。
简单的说下重点,今天先说下怎么处理客户端多处登录的问题。就是这样一个场景。你先登录了一个账号,再登录该账号,会前边一个账号从服务器踢出,同时告诉客户端做相应的处理。

(1)。 先建立好通讯文件。定义一个Array对象,用来放登陆用户的用户名(不放也可以的)。写好函数:application.onAppStart丶application.onAppStop丶application.onConnect丶application.onDisconnect。
实现相同登陆提醒主要是每次登陆前判断该登陆用户名是否已经在服务器上了。具体代码如下,都已经写好了注释。
Continue reading »

11月 022012
 

最近一个星期,都在做flash聊天室。音频和视频是分开的。其实,在这个过程中,界面,其他的一些排队,送礼物,列表这些都不是难题。问题就出在音频和视频上。因为音频和视频是分开的。所要测试的环境也多点。当然,从最简单,消耗带宽最小的测试开始。
测试环境。fms装在远程双线服务器上。带宽具体多大的我也不知道。家里就一台笔记本,一个台式机。都连接网络。笔记本连接无线路由。
(1)单独发布音频流的情况
a,单独发布音频流,发布端缓冲时间和客户端缓冲时间都为2秒:
microphone的rate属性值有44,22,11,8,5.默认值是8.是麦克风捕捉音频的频率,单位是KHZ。网上有说声音延迟和这个参数设置有关。我分别将microphone的rate值设置为8和44,测试的结果几乎一样。也许和 麦克风还有和客户端的个数有关系吧。
先排除这个不管他。接着测试其他的参数。
b,单独发布音频流,发布端缓冲时间设置为2秒,客户端缓冲时间为0秒。发现不了延迟。
c,单独发布音频流,发布端缓冲时间设置为0秒,客户端缓冲时间为2秒。发现了延迟。
到这里。感觉发布端没有必要设置缓冲吧。客户端总是要播放发布端发布到服务器上的流。发布端设置缓冲,似乎有点掩耳盗铃的意思。

这些设置到现在还不够。不能用到实际中。测试过了,说话还可以,如果用来唱歌,感觉声音每个字都被扯了一样。很难听。最好,客户端音频缓冲0.5秒,视频缓冲1秒。参数多,测试起来是有点麻烦。网上也看了些资料。

Continue reading »

网站地图