From c80ebe3c16fa893ad39705fced592c1411b4230f Mon Sep 17 00:00:00 2001 From: Ibrahim Mkusa Date: Sun, 23 Apr 2017 13:22:23 -0400 Subject: [PATCH 1/2] Hermes is ready. Did some polishing and updated TODOs. --- Hermes/GUI.rkt | 9 ++++----- Hermes/TODO | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Hermes/GUI.rkt b/Hermes/GUI.rkt index e8f3ec1..cae776a 100644 --- a/Hermes/GUI.rkt +++ b/Hermes/GUI.rkt @@ -9,9 +9,6 @@ ;Object stuff ; TODO make different objects threadable send button vs text area vs canvas -; TODO gui is just a relay remember -; TODO create a dialog to ask user for his username. This should be wrapped in a -; function get-username that we can call (provide make-gui) @@ -200,7 +197,8 @@ (define name "Me") (define min-h-size 80) (define min-v-size 30) - (define listy (list (list "Server" "Connected" "Red" 0))) ; initializes + ;(define listy (list (list "Server" "Connected" "Red" 0))) ; initializes + (define listy '()) ; listy with first message to be drawn on screen ; wrap in closure (define my-color "black") ; default color of the text messages if none @@ -225,7 +223,8 @@ #f)))) (set! my-color returned) returned) - (define height 15) ; height between messages drawn on the screen + (define height 0) ; determines starting height + ; TODO create height variable that stores the height/space between messages ;; prompt user for username ;; could randomly assign a user diff --git a/Hermes/TODO b/Hermes/TODO index db51e46..7a192c8 100644 --- a/Hermes/TODO +++ b/Hermes/TODO @@ -1,5 +1,5 @@ FEATURES -5. parser in the client side should do something similar (/color, /quit) +need to pass color settings between users 16. plain tcp -> ssl based ***17. fix breaks for improper disconnects from clients 18. Add topics after project completion From 6aa488216e73fa1d9ba5ed397301c78903896a1c Mon Sep 17 00:00:00 2001 From: Ibrahim Mkusa Date: Sun, 23 Apr 2017 13:28:12 -0400 Subject: [PATCH 2/2] preliminary work on a short-manual for using Hermes --- Hermes/README.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Hermes/README.md diff --git a/Hermes/README.md b/Hermes/README.md new file mode 100644 index 0000000..9bc0c70 --- /dev/null +++ b/Hermes/README.md @@ -0,0 +1,30 @@ +# Hermes - the code +# This is a work in progress. Kindly report all issues +## Installation + +The only pre-requisite is to have a recent version of Drracket, then go ahead +and launch an instance of Drracket running server.rkt and one or more +instances running client.rkt. + +## Using Hermes + +### General + +The clients can run on the same computer with the server, or you can run the +server alone in another compute on the internet. As long as you have the +server's public ip address, the port its listening on(must port forward on home +network!), and the server allows communication through that port in the firewall +you are good to go. + +### Clients + +In the clients follow the prompt to set you up. Type in messages to send to +other clients. You can list users in chat with /list users. You can get the +count of users with /list count. If you want to send a message to a particular +user, do /whisper username message in chat. If you want to leave chat, type in +quit. As a consequence you can't use quit alone in your messages. + +### Server + +You can stop the server by typing in (stop-server) in the interactive window. +It's really important you do this to free up the ports.