FMS客户端 ActionScript NetConnection类

2024-02-12 09:18

本文主要是介绍FMS客户端 ActionScript NetConnection类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Constructor for the NetConnection class

==============================

可用的:

Flash6

Flash Communication Server MX1.0

用法:

new NectConnection();

参数:

返回:

一个NectConnection 对象

描述:

构造器;创建一个对象能够被用于Flash Player 连接到Flash Media Server或一个application server.创建一个NetConnection对象以后,用NectConnection.connect()方法建立一个连接.

更多关于Flashapplication server的信息,参看http://www.macromedia.com/go/flashmediaserver_desdev_en.

例子:

接下来的doConnect()函数,使用NetConnection构造器创建一个新的连接还有连接到server

fuction doConnect(){

       //Make a new connection object.

       var my_nc:NectConnection = new NectConnection():

 

       /*Get the name of the server from user input

       And assign it to a variable named myURL. */

       var myURL_str:String = serverName;

 

       // Connect to the service.

       my_nc.connect(“rtmp://”+myURL_str + “/someApp/someInstance”);

 

 

NetConnection.call();

可用的:

Flash Player 6.

Flash Communication Server MX1.0

用法:

Call(remoteMethod,resultObject | null [,p1,…,pN])

参数:

remoteMethod 一个参数来自[/objectPath/]方法;如果你调用一个方法在NectConnection对象,你可以忽略objectPath.例如,参数/someObj/doSomething意思是server必须调用someObj.doSomthing方法在这个应用里并通过NetConnection.connect()这个里面获得一个targerURI参数,经过指定p1,…,PN参数.

由于安全的原因,确定remoteMethod名字被保留在应用层;NectConnection.call method()方法中不能调用这些方法的名字。这些方法的名字有/onConnect,/onDisconnect,/onStatus,/onAppStop,/onAppStart.

resultObject 一个对象的参数是你期望要得到发送的结果.这个结果对象能够适合任何用户定义的对象.因为它被被使用,当一个结果形成前,一个名字为onResult的处理器将会被调用.如果你不需要结果对象,你可通过参数null,p1,…pN可选的参数传给指定的方法。

返回:

返回为空

描述:

方法;在服务器调用一个命令或者一个方法.你必须创建一个server-side函数定义这个方法.这个方法当然可以使用当你的应用连接到应用的服务器上. 更多关于Flashapplication server的信息,参看http://www.macromedia.com/go/flashmediaserver_desdev_en.

例子:

接下来的函数检查一个信息,发送它,然后清除本地的消息字符串.

function mySend(){

       if(length(msg)>0){

              my_nc.call(“message”,null,msg);

}

msg=””;

}

 

NectConnection.close()

可用的:

Flash Play6

Flash Communication Server MX 1.0.

用法:

public close() : Void

参数:

没有

返回

返回值为空

描述:

方法;关闭一个连接到服务器或调用了NetConnection.onStatus代码属性NetConnection.Connect.Close.更多信息,参看NectConnection.onStatus.

这个方法关闭连接所有的NetStream对象连接;包括任何队列数据都将不发送并且会被丢弃.(如果要停止服务器的数据流,但不关闭连接就使用NetStream.close().)你必须重新创建一个NetStream对象(参看”Constructor for the NetStream class”on page 79).

这个方法当然也关闭所有运行这个在连接上共享的远程对象,可是,如果你不想重新创建共享对象到连接,你可调用SharedObject.connect()方法来代替.以此来重建连接到共享对象.当然,你重建连接到共享对象,任何共享对象队列数据当你发出NectConnection.close()命令时将被发送。

例子:

下面的disconnect()函数停止发出服务流,当你调用NectConnection.close()去删除服务源的连接.当没有服务流可以播放时,这个目的流自动结束和被删除。

function disconnect(){

       //stops publishing the stream

       srcStream_ns.close();

       //deletes the source stream connection

       my_nc.close();

}

参看:

NectConnection.connect(),NectConnection.onStatus,NetStream.close(),

SharedObject.connect()

 

NetConnection.connect()

targetURI 统一的资源标识关于应用在Flash Media Server当连接建立时. 关于targetURI,使用接下的大部分(子项被包括在选项中):

protocol:[//host][:port]/appname/[instanceName]

关于protocol,指定rtmp,或者rtmpt,或者rtmps,如果rtmp被指定,Flash Player将会创建一个持久的端口连接到Flash Media Server.如果rtmpt被指定,Flash Player将会创建一个HTTP通道连接到服务器.如果rtmps被指定,Flash Player将会创建安全的连接到服务器.关于更多RTMP,RTMPT,RTMPS参看下面描述的部分.

你可以忽略host参数如果SWF文件被提供给服务,相同的主机Flash Media Serve被安装时.

如果instanceName参数被忽略,Flash Player连接到应用的默认实例(_definst_).

在默认的情况下,RTMP连接使用端口1935,还有RTMPT连接端口是80.

例如:URIs的正确格式

rtmp://www.myCompany.com/myMainDirectory/groupChatApp/HelpDesk

rtmp:/sharedWhiteboardApp/June2002

rtmp::1234/chatApp/room_name

p1…pN可选参数关于任何类型已经通过应用指定targetURI.如果应用不会处理一个接收到命令参数.NectConnection.onStatus被调用,当代码的属性被设置为:NectConnection.Connect.Rejected.

返回

一个Boolean值,如果为true就表示可接连的URI.如果为false(表示连接成功的结束.当使用NectConnection.onStatus.)

描述

方法;连接到应用在Flash Media Server.这个方法能够用到服务器通信.关于更多的信息:参看参看http://www.macromedia.com/go/flashmediaserver_desdev_en.

 

通常情况下,使用RTMP协议,将会打开一个持久稳固的Flash PlayerFlash Media Server的连接。可是,当用户在防火墙打开连接时,使用HTTP端口代理的RTMP端口将被会阻止,使用RTMP协议,当传输RTMP数据将会覆盖HTTP连接.RTMPT协议明确的需要一个HTTP连接和使用更快的连接当客户不能连通过RTMP接连时.

RTMPS连接使用443默认端口

如果Flash Player失去连接到服务器通过RTMP连接在默认的端口.它将会使用预定的的端口和协议自动尝试建立连接.例如:当如果一个应用尝试到失败通过连接Flash Player将会自动尝试接下依次连接,直到成功.

my_nc.connect(“rtmp:/myserver/myapp”),

my_nc.connect(“rtmp://myserver:443/myapp;

my_nc.connect(“rtmp://myserver:80/myapp”);

这个连接的次序能够被连接成功,但其实方式就不可以.但是,在这个连接次序被使用多次连接尝试直到超时为止。

注意:这个自动的重试次序,将出现在的如果最初的指定RTMP协议和使用默认的端口时,例如,my_nc.connect(“rtmp:/myserver/myapp”).

如果你想要使用这个连接到发布或者播放实时音频和视频节目,或者发布或者播放先前的记录带音频和视频的流文件.你必须连接到Flash Media Server 还有要创建一个NetStream对象,在里面要包括NetConnection对象,关于更多的信息,参看NetStream class 条目.

如果你想使用这个连接到系列化的数据在多客户端或者在客户端与服务器之间,你必须连接到Flash Media Server然后创建一个远程共享对象里面包括NetConnection对象.关于更多的信息,参看SharedObject class 条目.

当你调用这个方法,NetConnection.onStatus事件处理器会调用一个消息对象然后指定是否连接成功还是失败.关于更多的作息,参看NetConnection.onStatus.如果这个连接成功,NectConnection.isConnected被设置为true;

关系到网络和线程时间问题,它最后的代替是NetConnection.onStatus处理脚本在这个NectConnection.connect()方法之前.其他方面,这个连接可能在脚本执行之后完成onStatus处理器的初始化.当然,所在这NetConnection.connect()方法里面的安全机制的检查将会在onStatus处理器尚未开始建立时被丢失.

如果直定一个连接已经打开,当你调用这个方法论,如果一个NetConnection.close()方法被调用,然后连接重新打开.

在连接处理,任何服务器的回答并发NetConnection.call(),NectStream.send(),或者SharedObject.send()方法都要等到服务器的签别到连接和NectConnection.onStatus方法被调用.调用或者发送方法是顺序的.任何未决定的更新或者远程的共享对象同样要等到顺序处理连接成功.指定哪几个传输到服务器.

 

 

 

呵呵~这是我的舍友icelong去年翻译的,想来也真难为他,那时我因为工作的原因要用到fms,所以就麻烦他帮翻译了一点(由于是临时用,我本人也没太认真去对较,纯粹是方便写程序,参考而已,如果有错误,请大家评论)

==================================

这篇关于FMS客户端 ActionScript NetConnection类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/702248

相关文章

Java Websocket实例【服务端与客户端实现全双工通讯】

Java Websocket实例【服务端与客户端实现全双工通讯】 现很多网站为了实现即时通讯,所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发 出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request 的模式带来很明显的缺点 – 浏 览器需要不断的向服务器发出请求,然而HTTP

Redis 客户端Jedis使用---连接池

Jedis 是Redis 的Java客户端,通过一段时间的使用,jedis基本实现redis的所有功能,并且jedis在客户端实现redis数据分片功能,Redis本身是没有数据分布功能。 一、下载jedis 代码 jedis 代码地址:https://github.com/xetorthio/jedis 再次感受到开源的强大。呵呵,大家有时间可以看看源码。 二、项目中如何使用Jedi

Java Socket服务器端与客户端的编程步骤总结

一,InetAddress类: InetAddress类没有构造方法,所以不能直接new出一个对象; 可以通过InetAddress类的静态方法获得InetAddress的对象; InetAddress.getLocalHost(); InetAddress.getByName(""); 类主要方法: String - address.getHostName(); String - addre

9.7(UDP局域网多客户端聊天室)

服务器端 #include<myhead.h>#define SERIP "192.168.0.132"#define SERPORT 8888#define MAX 50//定义用户结构体typedef struct{struct sockaddr_in addr;int flag;}User;User users[MAX];//用户列表void add_user(struct s

【知识分享】MQTT实战-使用mosquitto客户端连接emqx服务器

一、简介     MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的通信协议,旨在实现物联网设备之间的低带宽、高延迟的通信。MQTT协议设计简洁,使用TCP/IP协议进行通信,适用于各种网络环境,尤其适合在有限的网络带宽和不稳定的网络连接条件下进行通信。     MQTT的工作原理是基于发布/订阅模式的消息传递,它包括两个主要

【深入解析】AI工作流中的HTTP组件:客户端与服务端执行的区别

在当今快速发展的技术环境中,AI工作流的设计和实现变得愈发重要。尤其是在处理HTTP组件时,前端执行与后端执行之间的区别,往往会对系统的安全性和数据的准确性产生深远的影响。今天,我们就来深入探讨这一话题,揭示前端执行如何有效避免风控,以及它在获取本地数据方面的优势。 AI工作流+各种大模型=能用AI-工作流传送门:https://www.nyai.chat/chat?invite=nyai_

Spring boot 项目作为客户端调用 服务端websocket

文章目录 java客户端请求websocketSpring boot 导入包客户端调用方法测试执行方法connectWebSocketHandshakeMessagesendHandshakeWebSocketConfig.queue.take方法对应实体类配置 yaml 资源WebSocketConfig 配置类注入配置websocketUrl:LinkedBlockingQueueLin

vsftpd配置用户和密码让其他客户端连接

一、第一个主机:vsftpd下载及配置 前置准备: #卸载防火墙yum -y remove firewalld#为了不让防火墙有影响,iptables配置也清空iptables -Fvim /etc/selinux/confSELINUX=disabled #主要是把它改为disabled或者permissiveSELINUXTYPE=targeted#重启linux让selin

TCP通信客户端简单示例

#include <stdio.h> #include <winsock.h> #pragma comment(lib,"ws2_32.lib") int main() { //第一步:初始化Socket函数库 WSADATA wsaData; WSAStartup(0x202,&wsaData); //第二步:创建流式套接字 SOCKET sock=socket(AF_INET,SOCK_

Java-IDEA模拟一个Redis服务器,与Redis客户端进行一次简单的交互。默认端口号:6379

首先要了解Redis的交互协议。 摘抄: 简单字符串(Simple Strings): 以 “+” 开头,例如 “+OK\r\n” 表示一个成功的响应。错误(Errors): 以 “-” 开头,例如 “-ERR unknown command\r\n” 表示一个错误响应。整数(Integers): 以 “:” 开头,例如 “:1000\r\n” 表示整数1000。批量字符串(Bulk St