Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (754)
Games in Android Showcase (229)
games submitted by our members
Games in WIP (842)
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 1461 times)
0 Members and 1 Guest are viewing this topic.
Offline Serethos

Junior Devvie

Java games rock!

« Posted 2004-07-16 12: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 Devvie

Medals: 1
Exp: 14 years

Lazy Middle Class Intellectual

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

I think you forgot to hit paste :0   Huh Huh

Sacramento Volleyball
"Whitty phrase goes here."
Offline Serethos

Junior Devvie

Java games rock!

« Reply #2 - Posted 2004-07-17 16: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.

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

gui wants to send text:
server.sendRequest(Protocol.MESSAGE, "foo",
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  

DesertCoockie (20 views)
2018-05-13 18:23:11

nelsongames (68 views)
2018-04-24 18:15:36

nelsongames (65 views)
2018-04-24 18:14:32

ivj94 (748 views)
2018-03-24 14:47:39

ivj94 (79 views)
2018-03-24 14:46:31

ivj94 (595 views)
2018-03-24 14:43:53

Solater (95 views)
2018-03-17 05:04:08

nelsongames (168 views)
2018-03-05 17:56:34

Gornova (378 views)
2018-03-02 22:15:33

buddyBro (1038 views)
2018-02-28 16:59:18
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 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!