Building Collaborative Applications with Flex Data Services and Flash Media Server

I presented a session called “Building Collaborative Applications with Flex Data Services and Flash Media Server” at MAX (the Adobe developer conference) last week. Beyond the basics of the Flex pub/sub messaging infrastructure, the session provided techniques to build real life collaborative applications. I started with a simple chatroom, and then incrementally added features to end up with an IM client supporting presence and videoconferencing.

Many people have asked me to make my code available. So here it is. If you didn’t attend MAX, I added a brief description for each version of the application.

To run these samples, you need to install the Flex Data Services. If you haven’t already done so, you can download the Flex Data Services here, and follow the installation instructions.

Install the samples
  1. Download flex-collaboration.zip here and expand it on your local file system
  2. Copy the flexchat directory in the context root of your web application
  3. Copy the WEB-INF\src and WEB-INF\classes directories in the corresponding directory structure of your web application
Install the flexchat database

Starting with chat3.mxml, you will need a MySQL database.

  1. Create a new MySQL database or use an existing one
  2. Import the flexchat database using the flexchat.sql script
  3. Make sure a MySQL JDBC driver is available to your web application
  4. Edit flexchat.properties in WEB-INF\classes, and make sure the connection properties match your configuration
Install Flash Media Server

chat6.mxml requires Flash Media Server to enable videoconferencing.

  1. Install the Flash Media Server: you can download a free developer edition here (click free developer edition)
  2. In C:\Program Files\Macromedia\Flash Media Server 2\applications, create a directory called flex_videoconference and copy the main.asc file in that directory
Samples Walkthrough
chat1.mxml

chat1.mxml is a minimal chat application showing how to use the pub/sub messaging capabilities of Flex with just a couple of lines of code.

In this version, messages posted to the “chat” destination go to all the clients who subscribed to it. This is appropriate for a multi-user chatroom use case, but not for instant messaging applications where you want private conversations with individual users.

To run this sample, define a “chat” destination in messaging-config.xml as follows:

    <destination id="chat">

        <properties>
            <network>
                <session-timeout>0</session-timeout>
            </network>
            <server>
                <max-cache-size>1000</max-cache-size>
                <message-time-to-live>0</message-time-to-live>
                <durable>false</durable>
            </server>
        </properties>

        <channels>
            <channel ref="my-rtmp"/>
        </channels>

    </destination>

You may need to restart your server after modifying messaging-config.xml.

chat2.mxml

In this version, we use subtopics to enable private conversations between users. If you want to send a message to a user named Joe, you publish your message to the “Joe” subtopic of the chat destination (chat.Joe). Similarly, if Joe only needs to receive the messages that are sent to him, his client application can subscribe to the “Joe” subtopic.

Subtopics don’t need to be declared. All you need to do is configure your destination to support subtopics as shown below (allow-subtopics and subtopic-separator tags):

    <destination id="chat">

        <properties>
            <network>
                <session-timeout>0</session-timeout>
            </network>
            <server>
                <max-cache-size>1000</max-cache-size>
                <message-time-to-live>0</message-time-to-live>
                <durable>false</durable>
                <allow-subtopics>true</allow-subtopics>
                <subtopic-separator>.</subtopic-separator>
            </server>
        </properties>

        <channels>
            <channel ref="my-rtmp"/>
        </channels>

    </destination>


chat3.mxml

In this version, we add a buddy list using a DataService. The buddy list is displayed after the user logs on. You need to install the MySQL database to run this application.

To run this sample, add a “chat-buddies” destination in data-management-config.xml as follows:

    <destination id="chat-buddies">

        <adapter ref="java-dao" />

        <properties>
            <source>flex.samples.chat.BuddyAssembler</source>
	    <scope>application</scope>

            <metadata>
                <identity property="userId"/>
                <identity property="buddyId"/>
            </metadata>

            <network>
                <session-timeout>20</session-timeout>
                <paging enabled="false" pageSize="10" />
                <throttle-inbound policy="ERROR" max-frequency="500"/>
                <throttle-outbound policy="REPLACE" max-frequency="500"/>
            </network>
        </properties>

    </destination>


chat4.mxml

In chat4.mxml, we add a custom adapter (ChatAdapter.java) to the chat destination to support basic presence information. ChatAdapter implements the FlexSessionListener interface and uses the sessionCreated and sessionDestroyed callback methods to keep track of when users connect and disconnect, and notify interested parties.

The client application uses separate consumers to subscribe to a “status” subtopic for each buddy in the buddy list (chat.status.jane, chat.status.eric, chat.status.susan, etc.). See the dsBuddiesResult() method for the implementation details.

To run this sample, add our simple ChatAdapter in the list of configured adapters in messaging-config.xml. Th list of configured adapters should look like this:

    <adapters>
        <adapter-definition id="actionscript" class="flex.messaging.services.messaging.adapters.ActionScriptAdapter" default="true" />
        <adapter-definition id="jms" class="flex.messaging.services.messaging.adapters.JMSAdapter"/>
        <adapter-definition id="chat" class="flex.samples.chat.ChatAdapter"/>
    </adapters>

Next, specify that you want to use the chat adapter in the chat destination by adding the adapter reference as follows:

    <destination id="chat">

        <properties>
            <network>
                <session-timeout>0</session-timeout>
            </network>
            <server>
                <max-cache-size>1000</max-cache-size>
                <message-time-to-live>0</message-time-to-live>
                <durable>false</durable>
                <allow-subtopics>true</allow-subtopics>
                <subtopic-separator>.</subtopic-separator>
            </server>
        </properties>

        <channels>
            <channel ref="my-rtmp"/>
        </channels>

        <adapter ref="chat"/>

    </destination>

The unresolved issue in this version is that when you log on, you still don’t know which of your buddies are *already* online, and what their status is.

chat5.mxml

In this version, we use a DataService (“chat-sessions”) to keep track of the active user sessions along with presence information. Just like we did in ChatAdaper, the UserSessionAssembler class implements the FlexSessionListener interface and uses the sessionCreated and sessionDestroyed callback methods to create and remove user sessions. Using a DataService to keep track of presence information is convenient because changes (i.e. status information) are automatically pushed to all interested clients.

To run this sample, add a “chat-sessions” destination in data-management-config.xml as follows:

    <destination id="chat-sessions">

        <adapter ref="java-dao" />

        <properties>
            <source>flex.samples.chat.UserSessionAssembler</source>
	        <scope>application</scope>

            <metadata>
                <identity property="userId"/>
            </metadata>

            <network>
                <session-timeout>20</session-timeout>
                <paging enabled="false" pageSize="10" />
                <throttle-inbound policy="ERROR" max-frequency="500"/>
                <throttle-outbound policy="REPLACE" max-frequency="500"/>
            </network>

        </properties>

    </destination>


chat6.mxml

This version is the same as chat5.mxml with the addition of videoconferencing features enabled by Flash Media Server. Start your webcam in one session. in the buddy list of another session, click the name of the user who is broadcasting to see the video feed.

117 Responses to Building Collaborative Applications with Flex Data Services and Flash Media Server

  1. Jose Coronel October 31, 2006 at 12:10 pm #

    Increible!!!!!. Cuando publicaras un libro de FDS?

  2. ArgV November 2, 2006 at 6:17 am #

    I get the following errors:

    ArgumentError: Error #2126: NetConnection object must be connected.
    at flash.net::NetStream$iinit()
    at fms/::publish()
    at fms/___Button2_click()
    Error #2044: Unhandled NetStatusEvent:. level=error, code=NetConnection.Connect.Failed
    at fms/::publish()
    at fms/___Button2_click()

  3. Gustavo November 13, 2006 at 8:32 pm #

    are you using JRun for this example?

  4. Shan November 14, 2006 at 9:00 am #

    Gustavo – Technically, yes it’s JRun. But he’s just using the crippled version that comes with FDS2.

    Christophe – Any chance you can point me in the right direction on how to accomplish what you’ve written in Java (specifically the flexSessionStart and flexSessionEnd) in CF instead? Is it even possible?

  5. Chris Kline November 21, 2006 at 10:41 am #

    Any examples using durable subscribers and JMS Adapter ? I tried using ActiveMQ and providing unique ids when the consumers subscribed. But don’t seem to have any luck: when one durable client goes away and then returns it doesn’t get any of the messages it “missed”. Thanks

  6. haylz November 28, 2006 at 5:04 am #

    hihi

  7. isaias November 29, 2006 at 5:26 am #

    Thanks so very much for taking your time to create this very useful and informative site. I have learned a lot from your site. Thanks!!

  8. smokeyjoe December 6, 2006 at 8:54 pm #

    When I enter the chat3.mxml “chat-buddies” destination in my data-management-config.xml file, Flex Builder 2 generates an error “Destination ‘chat-buddies’ must specify at least one channel.”
    I am using Tomcat 5.5. Any guidance on how to solve this problem?

  9. Israel Gaytan December 17, 2006 at 8:48 pm #

    Great application!

  10. trish stratus porn December 18, 2006 at 3:42 am #

    trish stratus porn

    http://myblog.es/trish-stratus

  11. Jon Alexander December 25, 2006 at 7:10 pm #

    Hi, very much a fan of yours.

    How can I contact you to inquire your assistance, please, for a web Flex / Flash application.

    Please advise.

    Cordially,

    Jon Alexander

  12. Jon Alexander December 26, 2006 at 3:47 pm #

    Hello,

    Does the cam video example REQUIRE FDS or can Flash Communication Media Services be used?, which we already have on our host server.

    Please advise.

    Thank you.

    Cordially,

    Jon Alexander

  13. Stefan Richter January 12, 2007 at 3:20 pm #

    very cool, I am working a lot with Flex and FMS recently but I haven’t touched FDS yet – in fact I would have probably built the chat with FMS :-)

    Nice job – but oh boy, what a learning curve for anyone new to Flex, FMS and FDS…

  14. weni January 16, 2007 at 1:25 am #

    when I use “ChatAdapter” class ,It don’t invoke function “pushStatus” ,why?

  15. Edrin January 31, 2007 at 5:43 pm #

    Nice site. good work

  16. JesseNewst March 9, 2007 at 6:54 am #

    I wonder , were to find boyfriend to my sister? Joke:)
    My online friends propose this link to use -TOP10 – As for me, I think life is now!!!

  17. tqey March 20, 2007 at 1:00 pm #

  18. jjks March 20, 2007 at 11:00 pm #

  19. wrge March 21, 2007 at 9:00 am #

  20. bxbs March 21, 2007 at 11:30 am #

  21. xguc March 22, 2007 at 4:12 pm #

  22. yxxb March 23, 2007 at 12:18 am #

  23. kxxz March 23, 2007 at 12:27 am #

  24. hzdi March 23, 2007 at 9:12 am #

  25. ymzv March 24, 2007 at 12:09 am #

  26. anyl March 24, 2007 at 8:34 am #

  27. couq March 24, 2007 at 8:34 am #

  28. iodu March 26, 2007 at 1:04 pm #

  29. bwgt March 26, 2007 at 1:04 pm #

  30. ynfk March 26, 2007 at 8:32 pm #

  31. gfuj March 26, 2007 at 9:09 pm #

  32. ynda March 27, 2007 at 4:42 am #

  33. wnvl March 27, 2007 at 5:32 am #

  34. qy March 27, 2007 at 7:56 pm #

    When I enter the chat3.mxml “chat-buddies” destination in my data-management-config.xml file, Flex Builder 2 generates an error “Destination ‘chat-buddies’ must specify at least one channel.”
    I am using Tomcat 5.5. Any guidance on how to solve this problem?

    the same problem.please help me.

  35. ossz March 29, 2007 at 1:05 pm #

  36. muye March 29, 2007 at 1:38 pm #

  37. ggkr March 29, 2007 at 9:38 pm #

  38. zcjq March 29, 2007 at 9:39 pm #

  39. onqa March 30, 2007 at 6:43 am #

  40. lycq March 30, 2007 at 4:14 pm #

  41. nhjj March 31, 2007 at 1:26 am #

  42. imfn March 31, 2007 at 1:44 am #

  43. Abeer April 25, 2007 at 5:09 am #

    Thanks for this nice Tut. everything worked unless chat6…. all what i recieve is an empty page. please advice..

  44. Joseph April 25, 2007 at 11:43 pm #

    chat3.mxml buddies does not work.
    When we hit logon we get this error:

    [RPC Fault faultString="Send failed" faultCode="Client.Error.MessageSend" faultDetail="Channel.Connect.Failed error undefined url:'rtmp://myHost:2037'"]
    at mx.data::ConcreteDataService/http://www.adobe.com/2006/flex/mx/internal::dispatchFaultEvent()
    at ::DataListRequestResponder/fault()
    at mx.rpc::AsyncRequest/fault()
    at mx.messaging::ChannelSet/::faultPendingSends()
    at mx.messaging::ChannelSet/channelFaultHandler()
    at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()

  45. Nbkvqcu May 22, 2007 at 11:58 pm #

    http://19.xxxsexygirl24h.info x

  46. Kevin July 9, 2007 at 10:48 pm #

    If you’re following this example and are using the new LiveCycle Data Services ES make sure you download the hotfix for Flex Builder 2.01, it fixes mapping issues that caused errors because of differences between FDS and LCDS. You can get it at adobe here: http://kb.adobe.com/selfservice/viewContent.do?externalId=kb402000&slice

  47. casinosfreebonusesv August 11, 2007 at 5:14 pm #

    deposit free bonus casino
    see to signature…

  48. freeeeringtones August 17, 2007 at 3:58 pm #

    popular free ringtones

    http://www.thehotstop.info

    signature…

  49. Oscar September 10, 2007 at 8:25 am #

    Can I use FDS o LCDS in Flash Application?

  50. David Wilfred September 12, 2007 at 4:32 am #

    I am just trying to work on a sample application using Eclipse,Flex Builder Plugin,LCDS 2.5 and Tomcat using MYSQL as database.
    Can anyone provide a PDF or Link which can guide me through steps

    David
    david.wilfred@gft.com

  51. kurt September 22, 2007 at 7:08 pm #

    Thanks for your great tutorial!!

  52. jake October 7, 2007 at 9:37 pm #

    Those of you who are getting the error “Destination ‘chat-buddies’ must specify at least one channel.” on chat3.mxml just need to add:

    … after the tag but before the tag in data-management-config.xml

  53. Robert October 24, 2007 at 2:11 am #

    i am getting these “you must specify at least one channel”, when starting jrun. what do i need to add in the data-management-config.xml?

  54. jake October 24, 2007 at 10:25 am #

    I guess the tags I wrote in my previous post from October 7th didn’t show up. I’ll leave out the angle brackets and hopefully then they will show up. The part you need to add is the

    channels
    channel ref=”my-rtmp”/
    /channels

    before the final destination tag.

  55. shiv November 6, 2007 at 12:15 am #

    i am pretty new to adobe products… any idea how to make the IM client….

  56. shiv November 6, 2007 at 11:03 pm #

    [MessagingError message='Destination 'chat-sessions' has no channels defined and the application does not define any default channels.']
    at mx.messaging.config::ServerConfig$/::internalGetChannelSet()
    at mx.messaging.config::ServerConfig$/getChannelSet()
    at mx.messaging::MessageAgent/mx.messaging:MessageAgent::initChannelSet()
    at mx.messaging::MessageAgent/mx.messaging:MessageAgent::internalSend()
    at mx.messaging::Producer/mx.messaging:Producer::internalSend()
    at mx.messaging::AbstractProducer/connect()
    at mx.data::DataStore/http://www.adobe.com/2006/flex/mx/internal::initialize()
    at mx.data::ConcreteDataService/createItem()
    at mx.data.mxml::DataService/createItem()
    at chat6/::logon()
    at chat6/___Button1_click()

  57. Geo December 4, 2007 at 3:04 am #

    HI, very nice site with a lot of useful information concerning AIR, Flex and FCS(2).

    I would like you tell us what do you think about the open source red5 (see http://osflash.org/red5) instead of proprietary Adobe’s Flash Communication Server 2 (FCS2). Have you experience with red5, what is it all about – is scalable, how many transactions can handle, etc?

    Regards
    man

  58. eryncnime December 4, 2007 at 6:34 pm #

    What is the Dejа vu? What is this fleeting imprinted in the memory?

    P.S. Please administrator coenraets.org. If the thread is not to be in category этот, I ask you to move my thread to the correct category.

  59. junior December 18, 2007 at 10:28 am #

    Hello, I try the chat1.mxml and I get the follow error:

    VerifyError: Error #1053: Sustitución no válida de subtopic en mx.messaging.Consumer.

    at flash.display::MovieClip/nextFrame()
    at mx.managers::SystemManager/deferredNextFrame()
    at mx.managers::SystemManager/preloader_initProgressHandler()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.preloaders::Preloader/timerHandler()
    at flash.utils::Timer/_timerDispatch()
    at flash.utils::Timer/tick()

    Can you hel me please?

  60. secretboy February 11, 2008 at 10:07 am #

    great post.thanx.

  61. Vivek February 12, 2008 at 5:36 am #

    can tell me how to use H264 codec to develop a video chat application in flex & FMS 3

  62. Yamuna February 15, 2008 at 8:26 am #

    I didn’t work this program.Can you plese tell how to run this program..?i put the source files in lcds folder but i didn’t get the out put…please tell me the solution for that….

  63. Claudiu March 24, 2008 at 9:03 am #

    I am curious up to how many users can this chat take?

  64. Carlos April 1, 2008 at 3:28 am #

    Thank you! It’s really interesting and information is very helpful! Cool!

  65. Student April 9, 2008 at 3:59 am #

    When I tried to compile the Java files BuddyAssembler I got an error Class not found. All the other files are compiles. I think is it is due to the package flex.data.assembler.AbstractAssembler

    What should I do then? Also Abstract class is a build in class in flex right? Then why this error is occuring? When I went to this path I haven’t find any such class. What should I do?

    Please help me…

  66. Shiv Satchit April 30, 2008 at 7:15 am #

    I am not leaving a reply and I hope you don’t mind. I have gained quite a lot reading the questions and answers.

    I wss thinking about incorporating a multi-functional online chat utility into our charity website but not as good as this one made in Flex and powered by FDS.

    I am not a programmer, just an elementary web builder. I was wondering if there was someone out there in the cyberspace who would be kind enough to spare some time to help us embed the coding in our site. He or she could either do it for us or perhaps guid us through. Thanks a lot. Please help us as it is for humanitarian work – promoting socio-economic development in the least developed countries. my contact number is 00919810036363 as I am currently working in India trying to learn Flex in order to weave an RIA web application.

  67. Mike April 30, 2008 at 2:44 pm #

    I am trying to compile the chat adapter (mostly because I wanted to repackage it). I am getting an error with the line:

    MessageService msgService = (MessageService) service;

    Error message is “service cannot be resolved”

    I have all the packages reference for the import statements. Any idea what is causing this error?

  68. Adrian Aioanei May 6, 2008 at 10:13 am #

    @Mike you need to replace service with getDestination().getService().

    Adrian.

  69. nana May 25, 2008 at 1:48 am #

    Since I am completely to all this, I was hoping that you might have a dummy proof version of a step by step tutorial. I have installed Flex and Flesh Media Server. Since I have been only using Wamp, I am a little confused where to extract flex-collaboration.zip files since I couldn’t find WEB-INF. I would greatly appreciate any help.

  70. Santosh June 5, 2008 at 7:18 am #

    how can i run this application with tomcat 5.5 please help me.

  71. Santosh June 5, 2008 at 10:44 pm #

    [MessagingError message='Destination 'chat' either does not exist or the destination has no channels defined (and the application does not define any default channels.)']
    at mx.messaging.config::ServerConfig$/internalGetChannelSet()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\messaging\config\ServerConfig.as:624]
    at mx.messaging.config::ServerConfig$/getChannelSet()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\messaging\config\ServerConfig.as:255]
    at mx.messaging::MessageAgent/initChannelSet()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\messaging\MessageAgent.as:1083]
    at mx.messaging::MessageAgent/internalSend()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\messaging\MessageAgent.as:1059]
    at mx.messaging::Consumer/internalSend()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\messaging\Consumer.as:224]
    at mx.messaging::AbstractConsumer/subscribe()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\messaging\AbstractConsumer.as:624]
    at chat1/logon()[E:\FlexProject\ChatApplication\FMSChat\src\chat1.mxml:12]
    at chat1/___chat1_Button1_click()[E:\FlexProject\ChatApplication\FMSChat\src\chat1.mxml:42]

    when i run chat1.mxml it gives above error please advise me where i copy messaging-config.xml file

  72. Santosh June 20, 2008 at 4:31 am #

    how can i run this application with tomcat 5.5 please help me..

  73. Gianluca Bruno June 21, 2008 at 9:35 pm #

    I can’t resolve the AbstractAssembler and DataServiceTransaction classes. What do I use in replacement of these?

  74. Jake July 16, 2008 at 11:51 am #

    Great tutorial. I have been building my own Instant messenger with Flex Data Service but am struggling to see how to add a buddy where it sends a request for the recipient to accept this. I can only see how to do this with XMPP. Does flex data services lack this functionality? If anyone knows could you leave a quote on where to find some documentation on this or an example.

  75. Jake July 16, 2008 at 12:01 pm #

    Does anyone know in an instant messeneger how to. If i want to view cam with another user online to send a request for the user to accept this so there is some kind of security instead of just plain streaming.

  76. spopsymnvogma August 2, 2008 at 9:37 am #

    Hello, coenraets.org
    virtually a year ago now, my computer got a indeed genuine virus. I’m not infallible how it started, but my computer kept infuriating to run unrecognized programs and would and frameset problems refrigerate up eDialect rightage it was turned on from vexing to run them. My cousin who has IT episode tried to boost us out. We got the computer stabilised and workable and ended up re-installing Windows more than the corrupted version. At the after we ratiocination the enigma was dealt with. yet, we installed multiple virus scanners and ran scans with AVG unshackle, Virusinspect, Spybot, A
    d-au courant, Xoft-Spy, Stinger and an Online inspect from Symantec safeguarding Check. Most of these were pronouncement no puzzlers, but AVG detected divers viruses that it couldn’t mend and filed away. The computer was marginally slower, but wasn’t too noticable at the after . across the aftermost few months, the computer has been getting slower and slower and a stupendous amount of array on the pragmatic allude has disappeared. We had connected with 100GBs sinistral after the virus and now are down to up 10GB regular even so we are constantly un-installing programs and we haven’t satisfactorily files or programs on the computer to good up all the mystified blank. This combined with the computer slowing down to a snail-grovel precipitousness all the after has made it frustrating to use at best. If anyone could swear off me any assistants, it would be mere much appreciated.
    Deckard’s structure inspect
    Run by Gerry on 2008-06-23 01:10:41
    Computer is in sane Mode.

  77. çet August 22, 2008 at 5:15 pm #

    Great application!

  78. chat August 22, 2008 at 5:15 pm #

    Great application thanks;)

  79. sohbet August 22, 2008 at 5:16 pm #

    güzel bilgi teşekkürler.

  80. chat September 17, 2008 at 2:17 am #

    I can’t resolve the AbstractAssembler and DataServiceTransaction classes. What do I use in replacement of these?

  81. lapto battery November 20, 2008 at 9:16 pm #

    [...] TileList Control :: Dragging Items From a TileList Control To A Container Christophe Coenraets :: Building Collaborative Applications with Flex Data Services and Flash Media Server Daniel Wanja :: Flex introspection API: describeType(value:*):XML :: Find a class’s [...]

  82. toki February 23, 2009 at 4:12 pm #

    I use in replacement of these?

  83. Sohbet May 2, 2009 at 7:11 pm #

    Great application thanks;)

  84. Chat May 16, 2009 at 2:23 pm #

    Thank You Admin Amca mCx :)

  85. Edencity May 16, 2009 at 2:24 pm #

    Thanks

  86. sohbet May 17, 2009 at 9:01 am #

    hallo i wish you verry succes operator

  87. Naresh May 24, 2009 at 1:26 am #

    its good,
    Iam new to messaging.
    Please provide the messaging-config.xml
    Because it is not going show properly

  88. vinoddanims July 2, 2009 at 2:22 am #

    excellent

  89. medyum July 13, 2009 at 7:13 am #

    I didn’t work this program.Can you plese tell how to run this program..?i put the source files in lcds folder but i didn’t get the out put…please tell me the solution for that….

  90. seoflatrate September 28, 2009 at 11:30 am #

    This is very nice! You make a very good job. Thank for the information!

  91. sohbet odası, sohbet odaları November 24, 2009 at 6:32 am #

    how are you Babyyy

  92. sohbet odası November 24, 2009 at 6:33 am #

    how are you baby nina

  93. Bala December 1, 2009 at 8:18 am #

    When i setup the project and execute , i am getting the following error.

    “Cannot create class of type ‘flex.samples.chat.UserSession’.”

    Kindly help me in fixing this.

  94. Eryaman hali yikama June 15, 2010 at 7:15 am #

    Very nice sharing. Thank you…

  95. Rajiv Kumar July 15, 2010 at 12:03 am #

    sir please mail me whole project code on my mail

  96. rottweiler July 16, 2010 at 9:29 pm #

    thanks for information

  97. matbaa August 8, 2010 at 7:48 am #

    I use in replacement of these?

  98. sohbet August 9, 2010 at 2:52 pm #

    thanx so much for sharing

  99. porno September 27, 2010 at 12:58 am #

    Nice sharring.Thnx mt friend. i like this.

  100. kablo tv October 9, 2010 at 12:06 pm #

    thanks very nice

  101. Marcio Fermino November 25, 2010 at 4:50 pm #

    Hi, friend.

    I type from Brazil.

    I’am developer Java & Flex, I need developer one simple application
    CHAT + VIDEO + FMS.

    You can help me?

    Thank’s

  102. Flash Media Hosting March 21, 2011 at 9:33 pm #

    Very good examples good work!

  103. SarriElek April 4, 2011 at 2:47 pm #

    Hello Christopher!!!
    very good work! The custom adapter for listening session events
    and message subtopics for controlling message destinators worked really well.
    My only problem is that I´m not able to send message to a client whose session is about to
    finish. What listener and method should I use for that?
    Thanks

  104. Lucky Ladys Charm September 29, 2011 at 4:55 pm #

    grandioso a osamiz si tiviz peting con vient. remequeir sepismo se cismo son entre mi cuntemos arramoco y mestra omosug ecento.

  105. 16 dresses July 26, 2013 at 11:37 pm #

    High is no thought like figure downside in the book of fashion.
    Tiffany’s designs are excellent praised for the availability of snug fits in addition to their comfort level. Normally, any of these frocks are tatty by the young girls when they turn 15. You can look essentially fabulous with minimal effort. http://goo.gl/Yz38Gc

  106. abhi March 20, 2014 at 3:22 am #

    Good tutorial, will try it..

Trackbacks/Pingbacks

  1. thefactoryfactory - October 31, 2006

    [...] That was a fantastic lecture by the way, and it’s awesome to see the code up. It’s all here [...]

  2. SDFlex » Blog Archive » Building Collaborative Applications with Flex Data Services and Flash Media Server - July 9, 2007

    [...] If you’re looking for an example application (with code) to help you get a better handle on how Flex2 can leverage Flash Media Server and LiveCycle Data Services, then you’ll find Christopher Coenraets article (named link) a very enlightening read Building Collaborative Applications with Flex Data Services and Flash Media Server  . [...]

  3. Flex Coding « Panduramesh’s Weblog - September 19, 2008

    [...] TileList Control :: Dragging Items From a TileList Control To A Container Christophe Coenraets :: Building Collaborative Applications with Flex Data Services and Flash Media Server Daniel Wanja :: Flex introspection API: describeType(value:*):XML :: Find a class’s [...]

  4. About LCDS « It’s all about RIA - October 14, 2008

    [...] Christophe Coenraets :: Building Collaborative Applications with Flex Data Services and Flash Media Server [...]

  5. It’s all about RIA - October 14, 2008

    [...] Comment! Building Collaborative Applications with Flex Data Services and Flash Media Server [...]

  6. Adobe LCDS « Flex Generation Weblog - October 14, 2008

    [...] Christophe Coenraets :: Building Collaborative Applications with Flex Data Services and Flash Media Server [...]

  7. FLEX CODING « welcome nandhu - October 22, 2008

    [...] Christophe Coenraets :: Building Collaborative Applications with Flex Data Services and Flash Media Server [...]

  8. Flex Coding « Rameshgoud’s Flex Weblog - October 25, 2008

    [...] TileList Control :: Dragging Items From a TileList Control To A Container Christophe Coenraets :: Building Collaborative Applications with Flex Data Services and Flash Media Server Daniel Wanja :: Flex introspection API: describeType(value:*):XML :: Find a class’s [...]

  9. Flex Coding « Adiflex’s Blog - October 25, 2008

    [...] TileList Control :: Dragging Items From a TileList Control To A Container Christophe Coenraets :: Building Collaborative Applications with Flex Data Services and Flash Media Server Daniel Wanja :: Flex introspection API: describeType(value:*):XML :: Find a class’s [...]

  10. Adobe LCDS « SrikanthCreative Mind’s Weblog - October 27, 2008

    [...] Christophe Coenraets :: Building Collaborative Applications with Flex Data Services and Flash Media Server [...]

  11. dashboards « Adiflex’s Blog - October 29, 2008

    [...] Christophe Coenraets :: Building Collaborative Applications with Flex Data Services and Flash Media Server [...]

Leave a Reply

css.php