Red5 API 之 IConnection 接口的理解

<!-- .entry-meta -->
该接口为网络连接(connection)对象的总接口.每一个网络连接对象都要包含一个客户端(Client)对象和域(Scope)对象.这些网络连接可以是持续连接,轮迅连接或者即时性连接.该接口的目的就是要为这些不同类型的连接提供一个基本的网络连接方法.

嵌套类:
IConnection.Encoding
public static enum Encoding {
                AMF0,
                AMF3
};
主要描述AMF编码的两种类型:AMF0,AMF3

静态域:
static final String PERSISTENT:表示持久连接类型,例如:RTMP等.
static final String POLLING:表示轮询连接类型,例如:RTMPT等.
static final String TRANSIENT:表示即时连接类型,例如:HTTP等.

方法详细介绍:
String getType() : 获得连接类型,用字符串来表示.可以是"persistent","polling"或者"transient".

IConnection.Encoding getEncoding() : 获得编码协议类型(AMF的版本).

void initialize(IClient client) : 通过过一个与连接对象想关联的客户端对象初始化连接对象.

boolean connect(IScope scope) : 尝试与指定的域(Scope)对象连接.成功返回True,失败返回False.

boolean connect(IScope scope,Object[] params) : 尝试与指定的域(Scope)对象连接同时传入一个参数列表.成功返回True,失败返回False.

boolean isConnected() : 判断客户端对象是否与域对象保持连接.返回的结果依赖于连接的类型.True表示连接的类型是持久连接或者轮询连接,False表示是即时性连接.

void close() : 断开客户端与域之间的连接.

Map<String,Object> getConnectParams() : 获得连接时候客户端(Flex/Flash应用程序)传入的参数列表.

IClient getClient() : 返回与网络连接对象相关联的客户端对象.

String getHost() : 返回客户端对象所连接的服务器的名称,如果客户端对象是使用的

IP地址连接的,则以字符串形式直接返回服务器的IP地址.

String getRemoteAddress() : 获得客户端对象的IP地址.

int getRemotePort() : 获得客户端对象的端口号.

String getPath() : 获得连接域的路径.但是请注意,如果你转换了域,这路径并不会更新.

String getSessionId() : 返回会话的ID,在这里很可能放回值为Null.

long getReadBytes() : 返回从网络连接对象所读到的所有字节码总量.

long getWrittenBytes() : 获得写入连接对象的字节码总量.

long getReadMessages() : 获得从连接对象中读出信息总量.

long getWrittenMessages() : 获得写入连接对象的信息总量.

long getDroppedMessages() : 获得丢弃信息总量.

long getPendingMessages() : 获得正在发送到连接对象的信息总量.

void ping() : 检测网络连接响应时间.

int getLastPingTime() : 获得最后一次检测网络连接响应时间的毫秒值.

IScope getScope() : 获得网络连接相关联的域对象.

Iterator<IBasicScope> getBasicScopes() : 返回该连接对象订阅过的基本域对象(BasicScope).该列表将会包含该网络连接对象所连接的共享对象(shared object),广播流对象(broadcast streams).

猜你喜欢

转载自gongminrui.iteye.com/blog/1508352