Java-Gaming.org    
Featured games (91)
games approved by the League of Dukes
Games in Showcase (581)
games submitted by our members
Games in WIP (500)
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  
  Code design problem in chat  (Read 764 times)
0 Members and 1 Guest are viewing this topic.
Offline Serethos

Junior Member




Java games rock!


« Posted 2004-07-16 14:52:10 »

sometimes im stumbling over architecture questions in my projects. i have a server/client chat, basic structure is like this:
Offline SpuTTer

Senior Member


Medals: 1


Lazy Middle Class Intellectual


« Reply #1 - Posted 2004-07-16 18:23:22 »

I think you forgot to hit paste :0   Huh Huh

Sacramento Volleyball
"Whitty phrase goes here."
Offline Serethos

Junior Member




Java games rock!


« Reply #2 - Posted 2004-07-17 18:16:46 »

im very, very sorry:
sometimes events occur so that the textarea loses focus and i press enter for newline ....     :-/

but my question, i try to keep it short:

my chat (server/client) is constructed in basic of these modules (note that the server has a chat-gui too, only difference is, that he can be host):

the gui class gets a interface-relation to the server-class (respectively the client class) to send it events like text typed for sending, disconnect via gui etc.
vice versa the server-class gets an interface-relation to the gui to append incoming messages, add new guests etc.

now i want to write a protocol-class. this class shall define how the commandos for all actions are calles and how to put them in a string-stream for the server/client-class to send. main goal should be that you can easily modify the protocol without touching the other classes.
(the communication is done via simple text-streams like
"msg||greetings all||nameOfSender")

but all ways of doing it have some less beautiful aspects:

1.  i take for every actin (sending message, changing font-attributes, disconneting) an own method in the protocol class, which server/client has to inherite or to implement.

example:
gui-class gets textinput and calls server.broadCast(msg).
the server inherited how to do this.
=> this can produce many, many nonsense-like methods

2. i make the protocol class like a static tool class
there i define besides the constantes for the stream-commands a method for melting the commands with the delimiter (preparing a whole sending-stream) and
for cutting them in parts for receiving.
the server class then could only have one method which has a large if/else tree for every request

example:
gui wants to send text:
server.sendRequest(Protocol.MESSAGE, "foo", this.name)
the server knows with the first parameter what to do and calls teh protocol methods for preparing the stream out of those elements.
=> ugly strategy cause the gui needs access to the protocol-class and is not forced to send only valid parameters.


not so short as i mentioned, but i hope my problem is clear ...
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

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

The first screenshot will be displayed as a thumbnail.

xsi3rr4x (55 views)
2014-04-15 18:08:23

BurntPizza (53 views)
2014-04-15 03:46:01

UprightPath (66 views)
2014-04-14 17:39:50

UprightPath (49 views)
2014-04-14 17:35:47

Porlus (66 views)
2014-04-14 15:48:38

tom_mai78101 (90 views)
2014-04-10 04:04:31

BurntPizza (151 views)
2014-04-08 23:06:04

tom_mai78101 (247 views)
2014-04-05 13:34:39

trollwarrior1 (204 views)
2014-04-04 12:06:45

CJLetsGame (211 views)
2014-04-01 02:16:10
List of Learning Resources
by SHC
2014-04-18 03:17:39

List of Learning Resources
by Longarmx
2014-04-08 03:14:44

Good Examples
by matheus23
2014-04-05 13:51:37

Good Examples
by Grunnt
2014-04-03 15:48:46

Good Examples
by Grunnt
2014-04-03 15:48:37

Good Examples
by matheus23
2014-04-01 18:40:51

Good Examples
by matheus23
2014-04-01 18:40:34

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:22:30
java-gaming.org 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‑gaming.org
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!