对象简介
如果要把本地端的视频或者声音传递给其它的客户端,Flash影片就必须要联机到FlashCom 服务器。联机的方法就是通过NetConnect对象的connect()方法,连接到指定路径的FlashCom应用程序。
FlashCom使用RTMP协议来共享和传输你的数据、声音和视频。
对象属性:
isConnected 是否连接
uri 连接的URL地址,可以使用下面的方式
• rtmp://www.myCompany.com/myMainDirectory/groupChatApp/HelpDesk
• rtmpt:/sharedWhiteboardApp/June2002
• rtmp::1234/chatApp/room_name
例如你要联机到vchat的聊天程序,并且进入room1房间,可以按照下面的方式写:
可以不写房间名,则进入默认的房间
详细的连接语法可以参考我之前的笔记: 连接示例 。
NetConnect对象并不支持http协议,所以类似下面的连接方式是错误的:
并且FlashCom服务器端不支持任何直接远程调用的方法如 getURL 或 LoadVars,也就是说,服务器端不能够和后台程序进行数据交换,必须使用call方法调用客户端方法或者使用FlashRemote(或者使用开源的PHPObject)。
远程呼叫
如果要呼叫远程服务器端的方法或指令,可以使用Call方法,该方法的格式如下:
和很多对象一样,NetConnect对象有个onStatus事件,用于接受返回信息
下面是比较常见的写法:
状态信息的类型记录在信息对象的level属性中,其可能值为
status 状态
warning 警告
error 错误
信息的内容则记录在对象的code属性中。在NetConnect对象中,可以参考下面的范例程序来输出返回信息:
保存日志
需要的话可以把连接日志记录下来:
关闭连接
要关闭连接请使用 close()方法,如下面的代码停止数据流对象后关闭连接
如果要把本地端的视频或者声音传递给其它的客户端,Flash影片就必须要联机到FlashCom 服务器。联机的方法就是通过NetConnect对象的connect()方法,连接到指定路径的FlashCom应用程序。
FlashCom使用RTMP协议来共享和传输你的数据、声音和视频。
对象属性:
isConnected 是否连接
uri 连接的URL地址,可以使用下面的方式
• rtmp://www.myCompany.com/myMainDirectory/groupChatApp/HelpDesk
• rtmpt:/sharedWhiteboardApp/June2002
• rtmp::1234/chatApp/room_name
例如你要联机到vchat的聊天程序,并且进入room1房间,可以按照下面的方式写:
1 :
//建立联机对象
2 : client_nc = new NetConnect ();
3 : //联机到应用程序实体
4 : client_nc.connect( 'rtmp://mywebsite.com/vchat/room1' );
2 : client_nc = new NetConnect ();
3 : //联机到应用程序实体
4 : client_nc.connect( 'rtmp://mywebsite.com/vchat/room1' );
可以不写房间名,则进入默认的房间
详细的连接语法可以参考我之前的笔记: 连接示例 。
NetConnect对象并不支持http协议,所以类似下面的连接方式是错误的:
- myConn.connect('http://www.mydomain.com/myfile.php?id= 0001') ;
并且FlashCom服务器端不支持任何直接远程调用的方法如 getURL 或 LoadVars,也就是说,服务器端不能够和后台程序进行数据交换,必须使用call方法调用客户端方法或者使用FlashRemote(或者使用开源的PHPObject)。
远程呼叫
如果要呼叫远程服务器端的方法或指令,可以使用Call方法,该方法的格式如下:
1 : call (方法名称,接收传回值的对象(没有就用null),[参数1,参数2,...])
2 : //参数列表为需要传递到服务器端方法的参数,如果参数多余会被服务器端忽略
2 : //参数列表为需要传递到服务器端方法的参数,如果参数多余会被服务器端忽略
和很多对象一样,NetConnect对象有个onStatus事件,用于接受返回信息
下面是比较常见的写法:
1 : client_nc.onStatus =
function (info){
2 : //处理状态信息的程序代码
3 : };
2 : //处理状态信息的程序代码
3 : };
status 状态
warning 警告
error 错误
信息的内容则记录在对象的code属性中。在NetConnect对象中,可以参考下面的范例程序来输出返回信息:
01 : client_nc.onStatus =
function (info){
02 : trace ( '信息类型:' + info.level + newline + '信息内容:' + info.code );
03 : switch (info.code){
04 : case 'NetConnection.Connect.Success':
05 : trace ( '联机成功!' );
06 : break;
07 : case 'NetConnection.Connect.Failed':
08 : trace ( '联机失败!' );
09 : break;
10 : case 'NetConnection.Connect.Closed':
11 : trace ( '联机中断!' );
12 : break;
13 : }
14 : };
02 : trace ( '信息类型:' + info.level + newline + '信息内容:' + info.code );
03 : switch (info.code){
04 : case 'NetConnection.Connect.Success':
05 : trace ( '联机成功!' );
06 : break;
07 : case 'NetConnection.Connect.Failed':
08 : trace ( '联机失败!' );
09 : break;
10 : case 'NetConnection.Connect.Closed':
11 : trace ( '联机中断!' );
12 : break;
13 : }
14 : };
保存日志
需要的话可以把连接日志记录下来:
1 : client_nc.onStatus = function(info)
2 : {
3 : _root.log += 'Recording stream status./n' ;
4 : _root.log += 'Event: ' + info.code + '/n' ;
5 : _root.log += 'Type:' + info.level + '/n' ;
6 : _root.log += 'Message:' + info.description + '/n' ;
7 : }
2 : {
3 : _root.log += 'Recording stream status./n' ;
4 : _root.log += 'Event: ' + info.code + '/n' ;
5 : _root.log += 'Type:' + info.level + '/n' ;
6 : _root.log += 'Message:' + info.description + '/n' ;
7 : }
关闭连接
要关闭连接请使用 close()方法,如下面的代码停止数据流对象后关闭连接
1 :
function disconnect() {
2 : // Stops publishing the stream.
3 : srcStream.close();
4 : // Deletes the source stream connection.
5 : connection.close();
6 : }
2 : // Stops publishing the stream.
3 : srcStream.close();
4 : // Deletes the source stream connection.
5 : connection.close();
6 : }