-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
23 lines (21 loc) · 1.39 KB
/
README
File metadata and controls
23 lines (21 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Usage:
run the server using the command:
python Server.py <port number> <max_user_count>
default port will be 58888 and max user count will be 5 if there's no commandline arguments.
The server will listen for incoming connection and will accept and handle up to max_user_count
connections at a time, and handle each one using multithreading.
run the client using the command:
python User.py <host> <port>
If there is no commandline arguments, then default port will be 58888 and default host will be
localhost.
The client also using multithreading to work. One thread is for receiving and handling data from the
server, and another thread is for accepting user input and send commands to the server.
[O]Nothing changed in the server code
[+]Changed: code is now python 3-compatible, with slight modification due to socket data being transmitted as bytes, not raw string.
[+]Updated: User program now has a GUI, implemented using PyQt
[+]Added encryption to make the conversation secure. However the shared key is explicitly included
[-]Issue: the main chat window will be refreshed when new text is entered or when the user highlight the chat with the cursor
[-]this is due to the conflict of python thread and PyQt object
[-]can be fixed but will need to change from python thread to QThread
[-]NOTE: user needs to enter their username on the commandline first
[-]Remove colored text due to it's being shell-specific