Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (408)
games submitted by our members
Games in WIP (293)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Why Byte Arrays?  (Read 855 times)
0 Members and 1 Guest are viewing this topic.
Offline Jeff

JGO Coder




Got any cats?


« Posted 2007-03-15 16:26:58 »

Floresh writes:

Quote
One thing I noticed. All of the send methods take a byte array. This does lend itself well to Filter chains etc that I saw in previous releases. If you assume it will always be a string then it might not be as a big an issue to encode/decode/encode/decode etc in that filter chain. But more complex messages that would add a great deal of overhead.

It would be better to define an interface called Message or something like that. Maybe Data that defines one mehod. getID() or getName() or something like that. Then define two other interfaces. Encoder and Decoder that can be configured in the application properties. public byte[] encode(Message msg) and public Message decode(byte[] data). Thus the system could pass the messages around as objects (Serializable have you) but objects none the less until they reach a point in the chain where they need to be transmitted across the network. At that point the server could use the application specified encoder to encode them and send them. Likewise, when messages are received they could automattically be decoded.

Of course this is only necessary in the context of Filter chains where encoding/decoding over and over again for each Filter makes no sense unless the encoding is basic. Take for example a message that was built using ASN objects that is encoded/decoded using DER or an object parsed from XML or something. Just a couple of examples of messages that would not benefit from constant encoding/decoding through the Filter chain..

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline Jeff

JGO Coder




Got any cats?


« Reply #1 - Posted 2007-03-15 16:31:22 »

To quote the client tutorial (page 6) :

Quote

All communication in the SGS is done by sending and receiving byte arrays. To a Java coder this may seem a somewhat old-fashioned way of doing things. The SGS, however, is a client-agnostic system. The SGS team intends to deliver client APIs for J2SE, J2ME, and C/C++.  Other platforms may also be identified as later client targets by the SGS team or by the community.
While a few cross-language object systems exist, they are either platform-specific (for example, DCOM) or very complex, with serious overhead (for example, CORBA). The conclusion of the team was that it was best for the system to provide the common and efficient base of sending and receiving arrays of bytes, and to let specific applications build on top of that according to their needs.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Get high quality music tracks for your game!

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (101 views)
2013-05-17 21:29:12

alaslipknot (111 views)
2013-05-16 21:24:48

gouessej (139 views)
2013-05-16 00:53:38

gouessej (134 views)
2013-05-16 00:17:58

theagentd (146 views)
2013-05-15 15:01:13

theagentd (132 views)
2013-05-15 15:00:54

StreetDoggy (175 views)
2013-05-14 15:56:26

kutucuk (197 views)
2013-05-12 17:10:36

kutucuk (199 views)
2013-05-12 15:36:09

UnluckyDevil (205 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.069 seconds with 20 queries.