Repository files navigation
Name
Type
Description
Log
Log
Used to store the chatlogs
ConnectionType
int
Used to keep track of what type of connection it is, 0: Web Connection, 1: Private Connection, 2: Host Connection
Name
string
Used to keep track of contacts for the user
Connected
bool
Used to keep track if contact has an established connection
Server
string
Used to keep track of which server to keep contact with, Only used when ConnectionType == 0
Username
string
Personal Username for webserver, as of now unused
IP
IPAdress
IP to connect to. Only used when ConnectionType == 1,
Port
int
Port to connect to.
stream
NetworkStream
stream to read/write to. Note lack of capitalization, please fix
Listener
Thread
Thread used to listen to stream
EncryptProvider
RSACryptoServiceProvider
RSACSP used to encrypt messages. Reciving Contacts DecryptProvider
DecryptProvider
RSACryptoServiceProvider
RSACSP used to decrypt messages. Reciving Contacts EncryptProvider
Name
Type
Description
Text
Object[]
Object array used to contain text and images, could be renamed as variable was named before image functionality
ReadText
Object[]
Array used to check if anything new has arrived
Host has listening TCPListener
Client connects to Host's TCPListener
Both sides prepare DecryptProviders
Host writes Host's DecryptProvider's public key. Client Reads and prepares their EncryptProvider
Client writes Client's DecryptProvider's public key. Host Reads and prepares their EncryptProvider
Host writes own AES key. Client Recieves and sets as own AES, note AES is symetrical i.e no public/private key
Encrypted communication can now begin
Sender sends [0,1,2,3,4] in binary, which is the constant used to warn that an image is comming. Can be changed, just need's to be unwritable in utf-8
Sender sends image size
Sender sends image encrypted with AES instead of RSA
Communications return to normal
Save selected index.
Clear list.
Run through list of contacts and add them to the list. Check if nickname is set, else use suitable replacement
Set selected index to last selected index.
You can’t perform that action at this time.