氟化物rtmp连接超时

本文关键字:超时 连接 rtmp 氟化物 | 更新日期: 2023-09-27 18:01:52

我有一个用csharp编写的应用程序服务器。服务器正在与使用FLEX 4 (Flash Builder 4.5)构建的Flash客户端通信。

服务器和客户端之间的通信使用RTMP完成。

对于服务器端的RTMP功能,我使用了FluorineFX(托管在IIS7中)。

所有的连接都是使用远程过程调用完成的,其中Flash客户端在服务器中执行远程过程,并在RPC响应回调函数中获取结果。

服务器也可以使用RPC向客户端发送消息。

我的问题是服务器在最后一个客户端连接后6分钟断开了所有客户端的连接,我不知道为什么它会这样做。

services-config.xml看起来像:

<services-config>    
  <channels>        
    <channel-definition id="my-rtmp" class="mx.messaging.channels.RTMPChannel">
      <endpoint uri="rtmp://{server.name}:1935" class="flex.messaging.endpoints.RTMPEndpoint"/>
    </channel-definition>
  </channels>
</services-config>

网络。Config包含以下配置:

<fluorinefx>
    <settings>          
      <rtmpServer>
        <threadpool minWorkerThreads="0" maxWorkerThreads="25" idleTimeout="60000"/>
        <rtmpConnection pingInterval="0" maxInactivity="60000" maxHandshakeTimeout="0"/>
        <rtmptConnection pingInterval="5000" maxInactivity="60000" maxHandshakeTimeout="5000"/>
        <rtmpTransport receiveBufferSize="4096" sendBufferSize="4096" tcpNoDelay="true"/>
  </rtmpServer>
</settings>

任何帮助解决超时将是感激的

·库柏

氟化物rtmp连接超时

问题解决。

由于IIS7应用程序池配置导致:在其中一个应用服务器上,应用程序池空闲超时设置为6分钟。因此,6分钟后没有任何http请求到应用程序,应用程序池卸载所有程序集,包括氟网关。

卸载网关程序集时,它将停止网关,从而终止所有连接。

修改应用池空闲超时的方法如下:

在IIS 6中:转到应用程序池部分,右键单击托管ASP的池上的>属性。。NET应用程序。转到性能选项卡,取消勾选"在空闲后关闭工作进程:"

在IIS 7:中,转到连接窗格并找到应用程序池,然后为托管应用程序的池选择高级设置。找到"Idle Timeout"属性并将其设置为"0"(这将禁用超时)。

·库柏