posts - 431,  comments - 344,  trackbacks - 0
          原文地址:http://bbs.liuquan.net/thread-71224-1-1.html
          今天,想好好改改以前做的flash+red5聊天室,程序又得從頭建立,記錄下過程.
                  1、 到RED5的安裝目錄,找到doc/templates目錄,該目錄中存放了一個標準的RED5應用程序模版myapp,將其復制到RED5安裝目錄中的webapps目錄下那么可以把myapp改為mychat,這個名字就是以后要連接的服務名了
              2、 在WEB-INF中新建一個文件夾src用來存放程序的源代碼,新建一個classes文件夾用來存放編譯后的文件
               3、打開Eclipse將工作區指定為RED5安裝目錄下webapps,然后新建一個項目,項目名為myChat.這個時候你應該發現剛才myChat中的文件都被加載進來了,我們首先把src目錄指定為源代碼目錄,右鍵選擇src,在彈出的菜單中選擇Build Path->Use as Source Folder,即將其指定為代碼文件夾。接下來要指定項目的目標目錄,在項目名上右鍵選擇Properties,選擇Java Bulid Path,在選擇Source標簽,在下面的Browse中選擇Classes目錄,將其指定為目標目錄。然后選擇Libraries,點擊Add External JARs,將RED5安裝目錄下的red5.jar包含進來。(java下的jar也最好包含進來)
            ?。础⒃贓clipse的左邊應該多了WEB-INF/src這樣一個東東,我們將要在這里開始寫入我們的第一個項目代碼。右鍵選擇它,在彈出的菜單中選擇New->Package,新建一個包,舉例,包名可以為lchat,然后再在生成的lchat這個包上繼續右鍵選擇New->File,輸入文件名Application.java。并在建好的文件中輸入以下代碼:
          package   lchat;
               import org.red5.server.adapter.ApplicationAdapter;
               public class Application extends ApplicationAdapter{
               public Double add(Double a,Double b){
               return a+b;
               }
               }

            5、
            把red5-web.properties文件做以下更改:將第一句修改為webapp.contextPath=/myChat
            把web.xml文件作以下更改:找到webAppRootKey,將其下面的param-value標簽中的值修改為/myChat。
            把red5-web.xml文件做以下更改:找到bean id=”web.handler”一句,將class=”XXX”中的XXX位置修改為org.d5.first.Application,這樣本程序將以剛才寫的Application來運行。刪除后面的bean id=”server.handler…整句,因為我們暫時用不到這個東東。

            把red5-web.properties文件做以下更改:將第一句修改為webapp.contextPath=/myChat

          6、重新啟動red5
          7、flash里面運行
          nc = new NetConnection();
          trace(111);
               nc.connect("rtmp://localhost/mychat");
               nc.onResult = function(obj){
               trace("This result is " +obj);
               }
               nc.call("add",nc,1,2);

          就出來結果了
          表示連接成功

          一個最基本的red5連flash程序就好了

          下面是Python代碼

          from org.red5.server.adapter import ApplicationAdapter
          from org.red5.server.api.stream import IStreamCapableConnection
          from org.red5.server.api.stream.support import SimpleBandwidthConfigure

          class Application(ApplicationAdapter):
             
              def appStart(self, app):
                  ApplicationAdapter.appStart(self, app)
                  print 'Python appStart', app
                  self.appScope = app
                  return 1

              def appConnect(self, conn, params):
                  ApplicationAdapter.appConnect(self, conn, params)
                  print 'Python appConnect:', conn, params
                  self.measureBandwidth(conn)
                  if isinstance(conn, IStreamCapableConnection):
                      print 'Python setting bandwidth limits'
                      sbc = SimpleBandwidthConfigure()
                      sbc.setMaxBurst(8388608)
                      sbc.setBurst(8388608)
                      sbc.setOverallBandwidth(2097152);
                      conn.setBandwidthConfigure(sbc);
                 
                  return 1

              def toString(self):
                  return 'Python:Application'

          def getInstance(*args):
              print 'Arguments:', args
              return Application()


          posted on 2008-12-17 17:23 周銳 閱讀(3974) 評論(2)  編輯  收藏 所屬分類: Flex
          主站蜘蛛池模板: 论坛| 富阳市| 庆阳市| 三都| 噶尔县| 巴东县| 慈利县| 昌邑市| 道孚县| 安达市| 江孜县| 颍上县| 渑池县| 安仁县| 公安县| 烟台市| 长泰县| 孟州市| 沂源县| 宣武区| 灵武市| 蓬安县| 上高县| 北辰区| 禹州市| 延庆县| 芦溪县| 浪卡子县| 萍乡市| 九龙县| 丰县| 武威市| 平和县| 美姑县| 达州市| 湾仔区| 朝阳市| 禄丰县| 迭部县| 卓尼县| 西昌市|