Click to See Complete Forum and Search --> : FlashCom vs. xmlSocket
jeroen84
08-05-2002, 09:34 AM
I have a nice debate.. If you don't include the special features of streaming audio/video but look more to the other features(rich media messaging/real-time collaboration), then I wonder what is the difference by using a socket server program(not xml, but using packets) and the communication server.
Anyone(FlashGuru?) any idea?
psychlonex
08-05-2002, 12:55 PM
I think one big difference is to the tune of $4500. :)
All silliness aside, the flashcom server excels over xml in a few areas, the biggest to me is the reduced load on the cleint-side. With xml, you have to parse out the data you want on the client. This costs alot of overhead, especially apparent on macs when large amounts of xml are used. With Flashcom, you get a native flash object. You write less code, and the client cpu has less overhead.
Another thing is that I believe you can connect to a flashcom server that doesn't reside in the same domain as your swf. You can also connect to it from a standalone projector/exe.
It's possible to make flashcom run on port 80 with some extra hardware and some trickery. This is a big point for anyone behind a paranoid network admin's "fort Knox" firewall policies.
One final plus is that with flashcom, you can connect to a flash remoting server from the flashcom server. This is a great feature, and allows for some well optimized network setups. One example taken from the desdev pages for flashcom is a scenario where you have all of your clients connecting to a shared-object at the fcs and that shared object is connected to a remoting server which is connected to a database. The optimization comes in to play because the flashcom server acts as a sort of cache, only making calls to the database when something changes, vs connecting every time a new request is made.
psx
jeroen84
08-05-2002, 03:51 PM
Where do you get the idea that xmlsockets cost 4500 dollars?
Flashcom server doesn't excel over sockets. I was talking about a socketserver that sends raw data packets instead of xml data. You can specify what that data is yourself, and it costs less bandwidth. Also, you don't need xml parsing.
I think in this area, they are about even.
You sure that they don't need to be on the same domain? Because MM always used the policy of protecting flash so that you need to be on the same domain.
If you can use xtra hardware and trickery to use it on port 80, then it should also be possible with ANY other server program. Port 80 is for the slow internet protocol, so I'll need to see it before I belief it..
The client side can also connect to databases.. Can you give a more specific example of how you can use the Flash Remoting Server?
Jeroen
psychlonex
08-05-2002, 04:28 PM
Hey - my bad. I didn't read it correct, and since xml is the only socket connectivity I know of (outside flashcom) I assumed xml.
$4500 was referring to the price of a professional license for flashcom :) Granted, a much cheaper option is to use media temple.
The socket server you are describing (does it exist?) is almost identical to what flashcom server does. It streams binary data over the rtmp protocol. It just happens that mm buit in an audio/video encoder/decoder to deal with that data. So with that, you should be able to stream any data you want. Of course, whether the flash player can understand the data, or what you'd be able to do to get that data out and use it I have no clue.
Positive about the domain - you can have a flashcom server on one domain, and have swfs connect to it hosted at another.
Port 80 I am not so positive about - I got that from the flashcomm mailing list. Something about proxies and multiple network cards. I agree that with a firewall and some port-mapping you would be able to do it with most anything.
For databases - I agree, the client can connect to the database just fine. Check out this link, this is where I pulled my description from:
http://www.macromedia.com/desdev/mx/flashcom/articles/coding_guidelines.html
Hope that helps shed some light! Sorry for the misread!
Psx
jeroen84
08-05-2002, 04:53 PM
socket servers excist in many ways. Commercial and free ones. Examples:
Commercial ones: Unity (http://www.moock.org/unity) or Fortress (http://www.xadra.com/products/main.html)
Free ones:
commServer (http://www.moock.org/chat/moockComm.zip) or flashNexus (http://www.flashnexus.com)
You will probably need a dedicated server to run such a program on your server though. =/
The domain thing is a nice feature. Only useful for standalone though.
Good thing about flash remoting, is that it's faster and easier then if you use the client side to connect to a database. Bad thing is that you probably need a Coldfusion host.
psychlonex
08-05-2002, 05:20 PM
Hey - unity and fortress are both xml socket servers. Excellent ones at that! The Flashnexus stuff with the irc integration is a really cool idea as well.
Good point about the dedicated server. Really not sure if it's cheaper to own your own flashcom server and license or to use shared hosting. Guess it depends on how many users you expect.
The domain thing is a nice feature. Only useful for standalone though.
Not exactly true. I see things like a centralized com-server serving up news feeds or something with the swfs residing on sites all over the place, similar to the xml based macromedia dev news feed that is popping up on many a flash blog. Sort of like the idea of web-services.
Good thing about flash remoting, is that it's faster and easier then if you use the client side to connect to a database. Bad thing is that you probably need a Coldfusion host.
Remoting is definitely easier and probably faster as well. I really like the idea of having the clients connect to flashcom instead of directly to the database. You could do all sorts of cool stuff with a setup like that. You lessen the bandwidth used and at the same time take some stress off of your database server.
psx
jeroen84
08-05-2002, 06:50 PM
Originally posted by psychlonex
Not exactly true. I see things like a centralized com-server serving up news feeds or something with the swfs residing on sites all over the place, similar to the xml based macromedia dev news feed that is popping up on many a flash blog. Sort of like the idea of web-services.Not exactly true. With DNS, you can do the same.
For example, you have two servers. One is the normal one, and the other the flashserver one. The normal one points to
http://www.example.com
The one with the comServer on it points to:
http://flashcom.example.com
Instead of the flashcom, you can put for example a MySQL database on the second subdomain server. Because it's the same domain, the swf on the first server can communicate with the second server.
Also, note that the commercial socket server can communicate with a database directly as well..
--
Let me do a price check on both parts for a non-commercial game project, hosted by mediatemple with a maximum of 100 simultaneous users.
Flashcom with Remoting
-Prepare SharedServer plan(ColfFusion Enabled) $35/month
-FlashCom MX Add-on Deploy plan $125/month
Total: $160 per month ($1920 per year)
Unity
-socket server program $0.00
-Base ApplianceServer plan $117/month
Total: $117 per month ($1404 per year)
*sigh*
Sometimes life's expensive..
the1drewharris
08-05-2002, 09:59 PM
So I am a ColdFusion developer that has CF hosting.
I want to learn more about how to use the power of CF in FlashMX can someone point me in the right direction?
-Drew Harris
psychlonex
08-05-2002, 10:21 PM
Hey - my point with the news feed is that you are able to connect to it from outside the domain, ie I could put an swf on my site at http://www.mysite.com and you could have a flashcom server at http://www.yoursite.com and my swf would be able to connect to your flashcom server, effectively serving your news on my site - I guess the key is that it's easier, as it can definitely be done now with some redirects.
Plus - with your price thing, you're only counting in the free version of unity, which is for "artistic use only", ie a game server probably wouldn't fall into that category. Guess you could argue that it's art....non-profit etc.
Drew - sounds like you want flash-remoting - check out what macromedia has on their cf site:
http://www.macromedia.com/desdev/mx/coldfusion/
Another great resource (if it exists) is to join your local mmug - (macromedia user group). Some areas even have specialized groups, like coldfusion users, flash, etc.
http://www.google.com/search?hl=en&ie=ISO-8859-1&q=coldfusion+mx
that search returned some good looking results - I'm quite a cf noob, but there are many places around the web for coldfusion users.
Psx
jeroen84
08-06-2002, 04:30 AM
The fact is... it's still expensive. :(
MikeChambers
08-06-2002, 10:57 PM
Originally posted by jeroen84
Good thing about flash remoting, is that it's faster and easier then if you use the client side to connect to a database. Bad thing is that you probably need a Coldfusion host.
it comes installed with coldfusion mx, and jrun 4, and will be avaliable for ANY Java application server, as well as .net.
mike chambers
mesh@macromedia.com
MikeChambers
08-06-2002, 11:01 PM
one thing to consider when comparing the cost of Flash com vs socket servers is the cost of development.
using flash com, you can send and receive native actionscript data types. using socket server you have to create or use some layer to handle all of the data serlialization / de-serialization.
There are also 14 pre-built flash com components, that add some pretty advanced functionality. (i could build a video / text chat with a whiteboard in about 5 minutes).
mike chambers
mesh@macromedia.com
flashkit.com
Copyright Internet.com Inc., All Rights Reserved.