叶子的家

~●    ~●  ~●          ~●   ~●~●                           ○
    离成功还很远,距离长着叻,Fighting!
posts - 44, comments - 694, trackbacks - 17, articles - 1
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

Using .Net, Flex, and Red5 to create a flash web application

Posted on 2008-01-18 01:15 绿叶 阅读(...) 评论(...) 编辑 收藏
This project i developed recently is a web conference application.
i used .net with C# to write the web service providing the data access layer(dal) to the flash application for authentication and account management. Red5 server is an open source "flash stream server", JAVA is applyed here to write some handlers to process the stream data including the video and audio. Went without saying, Flex is used to develop the interface of the webside. The Red5 server and flash client is two way interaction, which means the flash client is able to send a request to the red5 server, so does red5, which can invoke client functions as well.

here i post the source code, you have to understand some concepts of red5 before reading:
1. the scope in Red5
a scope is used to group resouces, an Application has two kinds of scope. one is the app scope, the root scope in an application. second is the child scope. they are formed in a tree structure.
2. scope in my application
u'll see the source code in the application.java, there are a hall and many rooms. you will enter the hall after authentication, and can create or join a room in the hall. Notice that both hall and room are child scopes. hall scope is created only once by red5 automatically while the first user entering the hall. room scope is created when a user start a new room.
3. message exchange
the flash client can send public message or publish video/audio stream to the red5 server, and then these messages or stream data will be transmit to the users who are in the same room. itz real time and asynchronous.

how to make it work:
1. having MS Sql server.
create a database named "xyz" and create a table named "users" with 5 columns: Id(PK), Password, Email, Sex, and Description. you can get it done by running the dbScript.txt in your ms-sql server after the creation of database.
2. running web service
you can run the webservice directly with vistual studio 2005, or put the web service in iis. if u run it in vs2005, u might have to change the port number in the flash client. make sure it works.
3. running flash
open the flash client code source with Flex builder 2.1 (can download from Adobo), compile it, you'd better put the bin code in IIS as well.
4. running Red5 server
i used Eclipse to developed the Red5 handler, there might be some problems of using Eclipse to make red5 running at the beginning. search the solusion in Red5 webside http://osflash.org/red5, and create a new application called "XyzTalk", u can directly import my code into your red5 project. and finally build it.
5. done
once you get everything done correctly, u will see the beautiful interface (no? dam!) below:

login:


register:


hall:


room:


download URL:
/Files/wj/xyz.rar

btw, i didn't finish the shaing files part, yup. if any recommendations or bugs u firgure out, just leave msg or send me an email.
enjoy~ bye~