Renamed protocol to kittyTP, most of my variables/methods/classes were kitty something anyways. Protocol: port 7777 MEOW - says hello to the kitty, this MUST be said in order for the kitty to answer questions NAME - ask the kitty its name WHAT - ask the kitty what it is doing WHERE - ask the kitty where it is MU - say goodbye to the kitty, optional, but nice to do State of Code: Works, should be robust enough so that if the client or server quits unexpectedly, the other one will not die. The client will just enter a connect closed state. Once the server is back up, the client will work again. If the client dies without closing the connection, the server will just enter the waiting for connection state. Test conditions: open and close connection teste connecting and using the server with telnet sent questions/meow/mu tested trying to connect if server is not up killing the server while the client has a connection open killing client while a connection is open Where things are: Server directory: Duh, the server is here KittyTPServer is the main class the javadocs are in the docs directory Client directory: Hey, it's GUI client to KittyTP KittyTPClient is the main class here javadocs are in the docs directory again SOLTP directory OtherGuysTP TCPServer.class is Collin's server TCPClient.class is his class (not sure why he sent it to me) SOLTPClient.class is my version of the client javadocs in the docs directory OtherGuysTP (SOLTP): Ok, his client crashes the server when sending the "quit" request (he said this would happen). However, for some reason, my client does not crash the server when "quit" is sent to the server. His server still crashes when I just drop the connection. It is nice that it uses a text file for the 8-ball sayings and that one can add a new saying to them with the client. The class file in the SOLTP directory does not run with the java on NCC computers (at least for me). It worked for me at home and work. You might have to get another copy from his directory. requests : add, quit, shake, list, question Problems/notes: GUI programming can be a pain at times. Linux Java and Windows java behave a little differently WRT java sockets closing, the server would crash under windows, but not linux, I fixed this problem though. Some of the source code formatting may be funky because I wrote this using the joe editor on linux and the jgrasp editor is a little different.