Skip to content

SnobbishFish40/instantMessenger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

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

About

Instant Messenger Networks Coursework

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages