Java :: Flex - Flash Client To Talk To A Server Through A Full-duplex Connection?
Sep 16, 2010
My client is in Flash/Flex (game with chat) and it will be talking to a Java server. What is the best way (protocol / interface) for my Flash client to talk to my server? I heard about Flash Remoting MX, but it is a request / response mechanism. I could always request something and wait for asynchronous notifications from server. Then request again, implementing something like a Comet server.Anyways, what is the industry standard for this type of communication: Flash Client talking to Java server, supporting asynchronous "push" notifications from server.
I'm building a Flash-based Facebook game with a Java backend, and I'm planning to use a RESTful approach to connect the two of them (not a persistent socket connection). I'm using the AS3 library to connect the client to Facebook, so that's where I have my session information stored. However, how do I authorize client connections back to the server? I can't leave the callback URLs open since that'd let people manipulate game state without playing the game. I need to make sure that the calls are coming from a valid client and through a valid session.
At the moment, users have no direct login to the backend server -- it's all handled through the client frontend. Can I pass the Facebook OAuth2 access token to the backend in a way that the backend can verify its validity? Should that be enough to trust a valid frontend connection?
I could do a two legged OAuth signed request or just use a simple shared secret, but the keys would have to be packed in with the flash client, which makes that almost useless for this use case.
I have a Flex application that connects to a BlazeDS server using the StreamingAMF channel. On the server-side the logic is handled by a custom adapter that extends ActionScriptAdapter and implements FlexSessionListener and FlexClientListener interfaces.
I am asking how can I detect which "flex-client" has closed a connection when for example the user is closing the browser? (so I can clean some infos inside the database)
I tried using the following:
1. To manually manage the command messages:
@Override public Object manage(final CommandMessage commandMessage) { switch (commandMessage.getOperation()) {
I'm trying to be able to see all the connected users to my swf. I know how to trace it out server side but how do I send it back to my swf so I can see it? I get a success responder but my value is null.[code]
how can I find on fms server that client disconnected if if client disconnected due to power cut off. I client manually close the application then onDisconnect on server is called but if due to power cut off it does not called.
I am working on a project using flex/java/blazeds. This worked fine on local host however now that i have uploaded to a tomcat server(online), after having an error with the service uri, this error has now seemingly been solved, yet I am receiving another error which is as follows:
I have Flex/AIR app that connects to a tomcat server via BlazeDS. I'm not finding that I have to integrate an old webapp (struts/jsp) and I'd like to keep that webapp untouched except for login, authentication and session handling. Also a 3rd java app that uses httpclient.
Currently I have some blazeDS remote objects to handle login/logout with a few RPC calls. In turn, FlexSession objects are created and handled. Is there a way to use httpclient and javascript to call those blazeds RPCs so I dont have to recode and have 3 different means to handle logins and sessions?
I have a server with some simple java objects running. I want to build the client with Flex and connect to the server data with BlazeDS. The problem is the Flash Builder is not generating the Classes correctly. Just the properties are being generated, the inheritance are not being generates.
We are trying to create a sqlite db file using java on the server, and encrypt it.Then we send the encrypted db file to a client's pc, which has an Adobe Air desktop app running.The air app then needs to be able to open/read-from the encrypted db file (client is read-only).We are using java 1.6, flex/actionscript 4.5, and Air 3.1.We can create the sqlite db file on the server and send it to the client, and it can be read by the client without issues, when we do not encrypt it.But we are having trouble with the encryption part. We've read quite a lot of documentation about Actionscript's ability to open encrypted sqlite files using AES + CCM (URL...).And we're trying to use java's crypto package to encrypt the sqlite db file.The encryption is important because we don't want the client to be able to open the sqlite db file with any sqlite browser, only with our Air application.
Since I'm developing a multiplayer card game for Facebook using Flex as client side and Java SE as server side, I wanted to know how do I actually make the connection between Flex and Java? the server and client should be able to send each other data(cards,movement,room information etc...) across and I wonder what's the easiest way to do it without complicating it. where to read about it ? I know JAVA but I find JavaEE hard to understand.
What technology are better (robust, stable, speed) for rich web app with flash movies, chat, etc. Somebody said that Red5 will drop down if more that 50 users try to suck video stream from it. Is there people who use Java on server side and Flash for client side?
Im trying to make connection from flex to java and from java to mysql. I managed to connect to java, but having error that class not found: com.mysql.jdbc.Driver. But i downloaded mysql.jar, included it added to library, and connection works when i testing it from clipse scrapbook. Dont know what to do, i spend last couple days on this.
Basically the solution was simple. Everybody keeps saying to put jar into lib folder, so i done it, but i wasnt realised that i have to put into my servers lib directory, not app lib directory and this miserable mistake cost so much. Anyway i hope this will help for some newbie like me.In this particular situation im using red5, so i putted it into my red5 dist/lib directory and "surprisingly" its started to work.
I have a live streaming application using RTMP. Sometimes the playback works fine but sometimes it stops without any trace or errors in the log file, while still appearing as a connected client.
I have designed with Adobe Flash Professional CS5 a .fla project that integrates a client - server connection. After publishing it, I have the following issue:- when running the generated .exe file for Windows, then the connection to the server works perfectly- but when I am running the published .html file, then nothing is sent to the server.
I have tried to change the Publish Settings. When setting the Local Playback Security in Flash menu to "Access network only" instead of "Access local files only" then the last packet that was send using the .exe file is resent once and that's all (the html client does not receive the response from the server and the next connection attemps generate data transfer). I guess I have to change some security settings somewhere but I didn't find which.
Is it possible to stop a (live) Stream from playing for a user, but keep his NetConnection open for eg chat functionality?I only see a setBandwidthLimit to accomplish something similar to this, but then, if BW is set to 0, chat won't work.Why isn't there a built in feature to do something of seemingly common necessity like Client.stream.stop/change function to stop or change what video playback the client sees?
We have a typical Flash+J2EE application that makes multiple requests from client to server (over Flex remoting), which is taking quite a long time on some client systems (and hence results in poor application performance on such systems).
Now, suspecting issues with network connectivity (latency) on such client system(s), we need to identify how far does it contribute to the slow response of the application (rather than performance issues in the application itself).
So, what are the best way(s) to diagnose this on a client system (Windows)?
Note that we have tried profiling our application, which does not indicate bottlenecks there, so we just need to clearly identify the possible network issues.
I am using the same java server given there. and I am creating the XmlSocket in a flex air application. When I run my air application I get a java.net.SocketException connection reset at the java server.
I'm still new at Flex. I want to make a flex code that request data to server everytime. I use java as a server. i have successfully generate a linked-list of data at server from asterisk cli command. like this
I have a client written in as3. I want the client to open a TCP connection with a server in order to transfer textual values. I need this connection to run through port 80. Is it possible? Can the server send back textual values as well? Can the text be transferred in XML without creating the file on the clients computer?Is it possible to serialize the textual data?
I have been developing an application(a website to be more precise) which consists of a flex front end which is constantly sending and receiving data from the back end which is programmed in java. The connection between the two components is being done through blazeds. This worked fine while I was running it locally, however when I uploaded both sides of the application to a tomcat server(online) the following error is being returned when a connection between the components should occur:URL...I have read around about this error and many seem to getting this error when making connections between different servers, unlike here, where the connection is occurring within the same server.
I'm building a Facebook multiplayer game where the client side is in FLEX and the server side is in Java and I wanted to know if there is a guide on how to build the server clients managing system. When I say server clients managing system, I mean a server which many clients will connect to and will be able to choose between tables to join and play or to create their own table, same way as in texas holdem poker.
We're writing a flash application that can download a MP3 file, convert it to a Sound object, get the raw data and make some processing (like adding sounds, change octaves). After the processing, we want to send the data back to the server in chunks, so the server will be able to glue the data together and recover the new generated file. The problem is: if we send to the server "wav" pieces of sound, we are able to glue them together without any problem in the generated file. However, if we convert each wav piece to a mp3 file (so we can send a smaller file to the server) and join the mp3 files at the server, the result is a sound with some problems at the merge point.
This is how we load the mp3 file from the server:
sourceSnd.load(new URLRequest("sample url to mp3")); sourceSnd.addEventListener(Event.COMPLETE, carregou);
This is how we convert each piece of mp3 to bytearray and wav:
I am looking for an approach that will allow me to (somehow) dynamically pass the server name, server port, and web context to my Flex client so it can create a ChannelSet for it's RemoteObjects to use. These three properties are, of course, readily available to my Java server-side code so I just need a way to get them to the client.
By default, Adobe says you should compile your Flex application against the server configuration file "services-config.xml". This is a highly inflexible practice that Spring says should be avoided (I agree).
One popular approach is to use Flex's http service to download an XML configuration file. I like this idea, but I don't want to hard-code an XML file and keep it inside my WAR file. Is there a way to dynamically generate this from Java code?somehow use flashvars to pass the properties in from the containing HTML page to the SWF file. But again, I don't want to hard code them into the HTML page. Is there a way (maybe with Javascript?) to dynamically set the value of these when the page loads?
Is it possible to load a .properties file from a client computer using adobe flex? I have a flex app that needs to access a server and multiple URLs but the URLs may change frequently. So I think modifying and loading the URLs from a .properties file would be the easiest way update the URLs
I was able to use florians suggestion and I've added the code below if anyone else is interested. I used the example here URLLoader.
public function URLLoaderDataFormatExample(event:Event):void { var request:URLRequest = new URLRequest("file:///c:/temp/prop.properties"); var variables:URLLoader = new URLLoader();