Clients now default to leaving sign out messages
This commit is contained in:
parent
f6687e7d62
commit
8d9765ca8c
@ -5,12 +5,10 @@
|
|||||||
6. keep count of connected clients using object orientation
|
6. keep count of connected clients using object orientation
|
||||||
7. maybe fiddle around with irc library
|
7. maybe fiddle around with irc library
|
||||||
8. separate main running code from definitions
|
8. separate main running code from definitions
|
||||||
**9. closure connections, messages, threads. Avoid using set! without an object
|
|
||||||
like make-account
|
|
||||||
make own count to deal with closures
|
|
||||||
10. authentication for databases
|
10. authentication for databases
|
||||||
11. user can ask for no of logged in users. Server has to pars
|
11. user can ask for no of logged in users. Server has to pars
|
||||||
e
|
e
|
||||||
12. Hide user's own input in command line
|
12. Hide user's own input in command line
|
||||||
13. Need to gracefully handle disconnected clients by removing from list
|
** 13. Need to gracefully handle disconnected clients by removing from list
|
||||||
of connections
|
of connections
|
||||||
|
14. bye message prompt for clients
|
||||||
|
@ -43,16 +43,22 @@
|
|||||||
|
|
||||||
;; sends a message to the server
|
;; sends a message to the server
|
||||||
(define (send-messages username out)
|
(define (send-messages username out)
|
||||||
;; intelligent read, quits when user types in "quit"
|
|
||||||
(define input (read-line))
|
|
||||||
(cond ((string=? input "quit") (exit)))
|
|
||||||
; get current time
|
; get current time
|
||||||
(define date-today (seconds->date (current-seconds) #t))
|
(define date-today (seconds->date (current-seconds) #t))
|
||||||
;TODO pad the second if its only 1 character
|
;TODO pad the second if its only 1 character
|
||||||
(define date-print (string-append (number->string (date-hour date-today))
|
(define date-print (string-append (number->string (date-hour date-today))
|
||||||
|
":"
|
||||||
|
(number->string (date-minute date-today))
|
||||||
":"
|
":"
|
||||||
(number->string (date-second date-today))
|
(number->string (date-second date-today))
|
||||||
"| "))
|
" | "))
|
||||||
|
;; intelligent read, quits when user types in "quit"
|
||||||
|
(define input (read-line))
|
||||||
|
(cond ((string=? input "quit")
|
||||||
|
(displayln (string-append date-print username " signing out. See ya!") out)
|
||||||
|
(flush-output out)
|
||||||
|
(exit)))
|
||||||
|
|
||||||
(displayln (string-append date-print username ": " input) out)
|
(displayln (string-append date-print username ": " input) out)
|
||||||
(flush-output out))
|
(flush-output out))
|
||||||
|
|
||||||
|
@ -105,6 +105,11 @@
|
|||||||
"Sending client a welcome message.")
|
"Sending client a welcome message.")
|
||||||
stdout)
|
stdout)
|
||||||
(displayln welcome-message out)
|
(displayln welcome-message out)
|
||||||
|
;; print to server log and client
|
||||||
|
(define print-no-users (string-append "Number of users in chat: "
|
||||||
|
(number->string ((c-count 'current-count)))))
|
||||||
|
(displayln print-no-users out)
|
||||||
|
(displayln-safe print-no-users stdout)
|
||||||
(flush-output out)
|
(flush-output out)
|
||||||
(semaphore-wait connections-s)
|
(semaphore-wait connections-s)
|
||||||
((c-connections 'add) in out)
|
((c-connections 'add) in out)
|
||||||
|
Loading…
Reference in New Issue
Block a user