Flex RTMP 埠 2038 被多個應用程序共同設置,但只有一個可以成功綁定,其他兩個異常提示,請教有什麼影響

tags:    時間:2014-05-04 16:49:53
Flex RTMP 埠 2038 被多個應用程序共同設置,但只有一個可以成功綁定,其他兩個錯誤提示,請問有什麼影響
本帖最後由 u014446906 於 2014-04-17 12:26:05 編輯
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

推薦閱讀文章

Bookmark the permalink ,來源:互聯網