SnobbishFish40/instantMessenger
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Instructions Manual for Instant Messenger ### Startup ### Starting the Server: python server.py [port] e.g. python server.py 12000 Starting a Client: python client.py [username] [server address] [port] e.g. python client.py John 127.0.0.1 12000 ### Messaging ### The prompt shows your current target (username/groupname/all) in brackets e.g. (all) To send a message, type your message and press Enter. Messages are sent to your currently targetted user (direct message), group (group message) or all (broadcast) To change targets, enter the command "/target <target>" Possible targets: /target all = Broadcast to all connected users /target <username> = Direct message a specific user /target <groupname> = Message all members of a group Incoming messages will begin with a descriptor e.g. [user1 -> You] This describes which user sent the message and to which target Possible descriptors: [Alice -> all] = Broadcast from Alice [Bob -> You] = Direct message from Bob [Carol -> exampleGroup] = Group message from Carol [You -> Bob] = Your direct message to Bob Notifications from the server are denoted by the [INFO] descriptor e.g. When users connect or disconnect: [INFO] Alice has joined the chat! [INFO] Bob has left ### Groups ### Group commands can be used to create, join, and leave groups. Group commands: /join <groupname> = Join a group (creates it if it doesn't exist) /leave <groupname> = Leave a group /groups = View available groups and previously joined groups ### File Transfer ### To access the shared files directory, use the command "/files". This will grant file access permission and show available files. If the client already holds permission, it will toggle permission off. To show all available files use command "/listFiles" (requires file access permission) File download: /download <filename> = Download file using TCP (default) /download <filename> tcp = Download file using TCP /download <filename> udp = Download file using UDP e.g. /download image.jpg udp Downloaded files are saved to a directory titled with the client username. The server looks for shared files in ./SharedFiles by default. To use a custom location, set the environment variable "SERVER_SHARED_FILES" to a directory on your machine. ### Miscellaneous Commands ### /list = Show all currently connected users /help = Display help information /disconnect = Disconnect from the server