我在Windows XP sp3上使用Red5版本1.0.0(最终版本)用于Java 6.我正在使用从https://code.google.com/p/red5/下载的安装程序版本。我有一个项目,我正在用户之间进行实时网络摄像头聊天。我正在使用RTMPT(HTTP over RTMP)协议。所以我在Apache Web服务器后面设置了我的Red5服务器。问题是一切都进行了45-50秒,突然RTMPT连接关闭。我是不使用专用的rtmpt服务器,即我没有在conf文件中取消注释rtmpt bean。我已经在我的应用程序的web.xml中添加了servlet映射的条目(用于idle,fcs,open等)。 RTMPT正在侦听5080端口。我已经使用以前版本的Red5对此进行了测试,但问题是相同的。一段时间后(一分钟内),RTMPT连接关闭。我已经查看了日志,但没有发现任何相关信息。由于不活动期间也没有连接关闭。它与Apache有关吗?我不确定服务器是否正在关闭连接(虽然我无法找到任何关于关闭连接的日志)或客户端关闭它。用0.9.0和0.9.1进行了解决但是没有任何问题。我听说有问题在Mac上使用RTMPT和Red5,但我在Windows上。这个问题有什么指针?感谢任何帮助。此处还有我在Apache Web服务器上的错误日志 -
[错误](OS 10048)通常只允许使用每个套接字地址(协议/网络地址/端口)。 :proxy:HTTP:尝试连接到red5serverip:5080(*)失败。
相同的日志重复四次。
以下是Apache的一些访问日志 -
“POST / send / IDTK7NOG2PXGB / 803 HTTP / 1.1”200 1
“POST / send / IDTK7NOG2PXGB / 804 HTTP / 1.1”503 323
“POST / send / YXF4WTFMN8TCM / 1391 HTTP / 1.1”200 8285
“POST / send / YXF4WTFMN8TCM / 1392 HTTP / 1.1”200 1
“POST / send / YXF4WTFMN8TCM / 1393 HTTP / 1.1”200 54
“POST / send / YXF4WTFMN8TCM / 1394 HTTP / 1.1”200 1
“POST / send / YXF4WTFMN8TCM / 1395 HTTP / 1.1”503 323
“POST / close / IDTK7NOG2PXGB / 805 HTTP / 1.1”503 323
“POST / close / YXF4WTFMN8TCM / 1396 HTTP / 1.1”503 323
感谢名单!
答案 0 :(得分:1)
可能你的tcp端口用完了。默认情况下,tcp连接在TIME_WAIT状态下将保持4分钟,即使它已经关闭。当您的RTMPT流每秒使用5个连接时,您的系统将为每个连接的用户至少需要5 * 60 * 4 = 1200个端口。
防火墙通常会限制可用端口的数量。您还可以减少tcp套接字的保持活动时间。如果您使用apache错误消息进行搜索,则可以找到足够的信息对其进行排序。
答案 1 :(得分:0)
您的red5服务器可能已崩溃。当您的RAM使用量结束时会发生这种情况。在这种情况下,您需要再次手动启动red5。如果这解决了您的问题,则需要升级RAM。几次遇到这个问题后,我正在使用大约8GB的RAM。因为red5是使用JAVA编写的,所以缺少内存。 FFMPEG很适合在低内存中使用。但我不知道如何使用ffmpeg提供聊天。
答案 2 :(得分:0)
503表示该服务没有响应;如果您通过apache转发到red5,那么这意味着存在问题。我建议不要使用独立的rtmpt bean;而是只使用servlet并从混合中删除apache来调试问题。