Hi !
Featured games (85)
games approved by the League of Dukes
Games in Showcase (612)
Games in Android Showcase (172)
games submitted by our members
Games in WIP (658)
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 1115 times)
0 Members and 1 Guest are viewing this topic.
Offline Jeff

JGO Coder

Got any cats?

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

Floresh writes:

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!
Offline Jeff

JGO Coder

Got any cats?

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

To quote the client tutorial (page 6) :


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!
Pages: [1]
  ignore  |  Print  
You cannot reply to this message, because it is very, very old.

afikri (9 views)
2015-08-31 09:30:22

afikri (17 views)
2015-08-31 09:30:07

afikri (7 views)
2015-08-31 09:27:24

afikri (11 views)
2015-08-31 09:26:40

Roquen (16 views)
2015-08-29 11:30:54

GamerC4 (28 views)
2015-08-22 20:38:50

GamerC4 (24 views)
2015-08-22 20:37:18

GamerC4 (29 views)
2015-08-22 20:37:01

Kefwar (34 views)
2015-08-22 18:07:24

GamerC4 (26 views)
2015-08-22 01:00:24
HotSpot Options
by Roquen
2015-08-29 11:33:11

Rendering resources
by Roquen
2015-08-17 12:42:29

Rendering resources
by Roquen
2015-08-17 09:36:56

Rendering resources
by Roquen
2015-08-13 07:40:51

Networking Resources
by Roquen
2015-08-13 07:40:43

List of Learning Resources
by gouessej
2015-07-09 11:29:36

How Do I Expand My Game?
by bashfrog
2015-06-14 11:34:43

List of Learning Resources
by PocketCrafter7
2015-05-31 05:37:30 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
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!