JMS for game networking

Sorry if this is been covered, I did a quick search and it didn’t turn up what i was looking for.

Is/has anyone use JMS (or any other standard API, other than Net/NIO of course) for game networking? And if so, what was you app and how did it go?

I’ve been home brewing connection management and protos for years for performance reason but am ready to leave that all behind if standard APIs are up to the job now.

Yes, it has been covered on this forum, at least once. Certainly, it was mentioned in the “is it OK to use J2EE?” thread, but also in other ones. I believe (not entirely sure) that each thread that mentioned JMS also mentioned at least JBoss or J2EE at some point. Search with enough days (700?) and all categories (ISTR several started off not in networking) should get all of them.

Approximate conclusions IIRC were:


theoretically, it's great. For some particular uses, it's fine, but most of those are small games where the overhead of importing JMS's architecture is too much hassle to justify it.

In practice, you have to pay $$$ to get a halfway-decent JMS implementation. Apparently, most of them are crap (not surprising, given what it does and how much money messaging middleware vendors have charged and still do charge for good implementations of this stuff - Sun wasn't going to make an expensive product free overnight, now were they? :)).

…or something like that.

I’ve not really tried them myself - why bother trusting a random messaging layer when you can just go and get ones designed specifically for games? Like J2EE itself, the guarantees are few and far between, and it’s not really designed with games-like traffic patterns in mind.

FWIW, I’m planning on releasing an open-source networking layer sometime 2005Q3 as part of writing my networking book. It might just be a port of eNet or similar, or it might be something entirely new; I’m not sure yet.

Thanks much!

People have tried to use it. Its always a performance problem for anything more then turn based games.

JMS is designed for enterpreise systems which have very different communciations needs then games.