Hi,
services-config.xml 的内容:
<channel-definition id="my-rtmp" class="mx.messaging.channels.RTMPChannel">
<endpoint uri="rtmp://{server.name}:2038" class="flex.messaging.endpoints.RTMPEndpoint"/>
<properties>
<idle-timeout-minutes>20</idle-timeout-minutes>
<client-to-server-maxbps>100K</client-to-server-maxbps>
<server-to-client-maxbps>100K</server-to-client-maxbps>
<!-- for deployment on WebSphere, must be mapped to a WorkManager available in the web application's jndi context.
<websphere-workmanager-jndi-name>java:comp/env/wm/MessagingWorkManager</websphere-workmanager-jndi-name>
-->
</properties>
</channel-definition>
在一个 Java Web 项目中,我发现有 Flex 的存在,并且这个项目在几个模块中使用了 Flex,比如以下3个模块都使用了 Flex :
http://127.0.0.1:7001/Flex_Module_1
http://127.0.0.1:7001/Flex_Module_2
http://127.0.0.1:7001/Flex_Module_3
而且,我发现这三个模块里面的 services-config.xml 里面配置的 RTMP 的端口都是 2038,
\Flex_Module_1\WEB-INF\flex\services-config.xml
\Flex_Module_2\WEB-INF\flex\services-config.xml
\Flex_Module_3\WEB-INF\flex\services-config.xml
这样,我启动 weblogic 后,weblogic 控制台可以看到错误 ,
[Flex] RTMP-Server failed to start up: java.net.BindException: Address already i
n use: bind
flex.messaging.endpoints.rtmp.RTMPException: The RTMP server has encountered a f
atal exception starting up: Address already in use: bind
at flex.messaging.endpoints.rtmp.BaseNIORTMPServer.run(BaseNIORTMPServer
.java:310)
现在想问的问题是:
如果只有 Module_1 可以成功绑定了 2038 端口后,其他两个 Module_2/3 肯定是绑定失败的,那么,其他两个 Module_2/3 在使用 Flex 上是不是因为绑定失败而导致有些东西出错了或不能使用了?
我是今天才使用 Flex , 但是按理论上,应该是 Flex 框架里面有一个 Class
(只是例子:)
RTMPServerListerner module_2_or_3 = new RTMPServerListerner(2038端口),
然后,其他 Flex Client 客户端或其他程序需要用到 module_2_or_3 时肯定出错了,因为 module_2_or_3 连绑定初始化的时候已经出现问题,但是,module_1 就没问题。
这个 Flex 可以让多个不同域的应用程序共用同一个端口吗?? Module_2/3 在使用上有受到这个端口因为相同并且绑定失败而有其他问题吗?
请指教,谢谢。
------解决方案--------------------
多个共用同一个会有竞争占用
------解决方案--------------------
已经被占用了,就是不能使用了呗。
绑定失败,肯定就是服务启动失败了,咋还能再提供服务呢?
------解决方案--------------------
你确认绑定失败的也能提供服务?
不是还有一个绑定成功的么
------解决方案--------------------
是的。你可以在 2 和 3 里加 log 试一下
------解决方案--------------------
项目里可能用到。但是更多是客户端可能会调用,特别是 flash