`

基于rtmp协议用java nio写小型游戏服务器的总结3

    博客分类:
  • java
阅读更多
在flex使用rtmp协议进行连接的时候,有个握手的过程,详情baidu或google一下,或者参考“http://fmfl.iteye.com/blog/589162 中的附件”,在前面介绍当中,别人提供的源码和demo只考虑了理想情况下的连接,也就是说没有考虑到网络的不稳定性,当客户端主动断开的时候,如果按照demo中的写法,它是每次连接都在服务端新建一个client,当客户端主动断开的时候,重连接的时候,就会为同一个客户端新建一个client,而且原有的client并没有得到释放,虽说java有gc,那也是变量没有被引用的情况下才能进行,所以我在写服务器的时候,觉得有点成就感的就是改写了客户端连接服务端的代码,也就是说解决同一个客户端重连接n次的情况,对同一个客户端来说,服务端只有一个对应的client,服务端的client只能由用户显式退出或者超时时,才会注销掉该client,也就是类似web应用中的session的情况

抱歉:想到哪里就写到哪里,哈哈。。
分享到:
评论
2 楼 minn84 2011-08-24  
linfeng_0212 写道
关于断开后服务器端保存client的问题,不应该修改代码来实现一个client在服务器端一个引用,而是应该在服务器端通过技术手段解决这个问题。


你所说的在服务器端通过技术手段解决,有什么好的技术手段?
1 楼 linfeng_0212 2011-08-16  
关于断开后服务器端保存client的问题,不应该修改代码来实现一个client在服务器端一个引用,而是应该在服务器端通过技术手段解决这个问题。

相关推荐

    基于rtmp协议android端推流Demo

    5. **流媒体服务器配置**:为了接收并分发Android设备推送的RTMP流,服务器端需要运行支持RTMP协议的服务,如Nginx with RTMP module或者Adobe Flash Media Server。开发者需要知道如何配置这些服务器,设置合适的...

    基于Rtmp协议的流媒体直播 Demo

    Rtmp协议基于TCP,通过建立连接、握手、发布和播放等步骤实现流媒体的实时传输。其中,握手过程包括C0-C2/S0-S2的三次交互,确保客户端和服务器之间的同步;发布操作允许客户端将音视频流推送到服务器;播放操作则使...

    RTMP协议框架完美实现

    RTMP协议基于TCP,主要由三部分组成:握手、命令消息和数据流。握手过程确保客户端和服务器之间的连接稳定;命令消息包括连接、播放、记录等操作;数据流则包含了音视频数据的传输。RTMP支持AMF(Action Message ...

    rtmp 协议规范 中文版

    RTMP 块流是一种基于 RTMP 的协议,提供了复用和分组服务,以便更好地传输多媒体数据流。 在 RTMP 块流中,每个消息包含时间戳和负载类型标志。时间戳是一个 32 位整数,以毫秒为单位的相对时间,相对于一个未规定...

    rtmp协议官方文档中文版

    RTMP(Real-Time Messaging Protocol,实时消息传输协议)是一种基于TCP的应用层协议,主要用于在互联网上传输音频、视频和其他类型的数据。它最初由Adobe Systems开发,用于Flash Player和服务器之间的实时流媒体...

    rtmp协议.pdf

    RTMP协议是一种基于TCP的应用层协议,主要用于实时音频、视频和数据传输。它能够提供低延迟的流媒体传输服务,广泛应用于直播、在线教育、远程会议等领域。该协议支持多种数据类型,包括音频、视频、共享对象、消息...

    基于RTMP协议的Flash流媒体网页播放器

    3. **Adobe Flash Media Server**:Adobe提供的服务器软件,支持RTMP、HLS、HDS等多种流媒体协议。它为开发者提供了丰富的API和工具,以便创建交互式和高质量的流媒体应用。 4. **Wowza Streaming Engine**:Wowza...

    RTMP协议(中文)详解以及规范

    RTMP(Real-Time Messaging Protocol,实时消息传输协议)是Adobe Systems公司开发的一种应用程序协议,主要用于在互联网上传输音频、视频和数据。它被广泛应用于在线直播、视频会议和游戏流媒体等领域。RTMP协议的...

    RTMP协议规范中文翻译

    1. **连接建立**:RTMP协议首先通过TCP建立连接,通常使用默认端口1935。连接过程中,客户端会发送Handshake(握手)以验证双方的兼容性和安全性。 2. **命令消息**:RTMP协议支持多种命令消息,如Connect、...

    RTMP 协议下载C++实现

    1. **RTMP协议**:RTMP协议基于TCP,设计时主要考虑了音视频数据的实时传输需求。它包括握手、建立连接、发布/播放、数据传输、断线重连等几个关键步骤。协议支持AMF(Action Message Format)编码的数据,能处理...

    RTMP_1.0协议原理

    RTMP协议能够提供高性能的音频、视频和数据内容在客户端与服务器之间的实时传输,尤其适用于基于Adobe Flash平台的技术实现。 #### 二、RTMP协议概述 RTMP协议是一种基于TCP的应用层协议,主要应用于流媒体服务,...

    RTMP协议中文.pdf

    RTMP设计之初是为了在Flash/AIR平台和流媒体服务器之间传输音频、视频和数据,它作为一种应用层协议运行于传输层协议TCP之上,以TCP协议为传输基础。 RTMP协议的主要特点包括全双工通信(即数据可以在两个方向上...

    rtmp协议原版介绍

    ### RTMP协议详解 #### 一、概述 RTMP(Real-Time Messaging Protocol)是一种由Adobe Systems开发并发布的专为实时音频、视频和数据内容的高性能流传输设计的协议。RTMP最初是为支持Adobe Flash Player及其相关...

    基于RTMP协议的流媒体系统的设计实现1

    3. **传输模块**:将编码后的流数据通过RTMP协议发送到服务器,服务器再将数据分发给订阅的客户端。这个过程中需要考虑到网络状况,确保数据的稳定传输。 4. **存储模块**:为了支持点播功能,流媒体系统还需要有...

    Flash RTMP协议说明文档

    RTMP协议基于TCP协议,支持多种类型的数据传输,包括但不限于视频、音频以及交互式通信等。它通过建立一条持续连接来实现流媒体数据的高效传输,并能够根据网络状况动态调整传输速率,确保流媒体播放的流畅性和高...

    javaCV将socket获取的视频流推到流媒体(RTMP)服务器jar

    3. **RTMP (Real-Time Messaging Protocol)**: RTMP是一种专为音频、视频数据实时传输而设计的协议,常用于将视频流推送至流媒体服务器,如Adobe Flash Media Server或开源的Nginx-RTMP模块。JavaCV可以实现将接收到...

    RTMP协议基础知识

    RTMP协议基础知识RTMP 全称Routing Table Maintenance Protocol(路由选择表维护协议) 在 AppleTalk 协议组中,路由选择表维护协议(RTMP,Routing Table Protocol)是一种传输层协议,它在 AppleTalk 路由器中建立...

    海康威视推流RTMP-java代码demo

    RTSP是一种网络协议,主要用于控制多媒体数据的传输,而RTMP则常用于将音视频数据推送至流媒体服务器,如YouTube、Facebook Live等。Java作为一种跨平台的编程语言,具有丰富的库和API,可以方便地处理这种任务。 ...

Global site tag (gtag.js) - Google Analytics