https://github.com/johnksv/oblig-1-dats2410
Server based chat application. Mandatory assignment - network and cloud computing.
https://github.com/johnksv/oblig-1-dats2410
assigment chat-application hioa networking
Last synced: 2 months ago
JSON representation
Server based chat application. Mandatory assignment - network and cloud computing.
- Host: GitHub
- URL: https://github.com/johnksv/oblig-1-dats2410
- Owner: johnksv
- Created: 2017-01-26T08:18:51.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-03-29T10:39:27.000Z (about 8 years ago)
- Last Synced: 2025-02-09T16:41:20.863Z (4 months ago)
- Topics: assigment, chat-application, hioa, networking
- Language: Java
- Homepage:
- Size: 297 KB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Oblig-1-DATS2410
First mandatory assignment in DATS 2410 - Network and cloud computing**Torsdag 23. februar 2017:**
Levert versjon med omfattende rapport:
https://github.com/johnksv/Oblig-1-DATS2410/releases/tag/v1.0.0Rapporten inneholder applikasjons beskrivelse, program struktur, vår egenlagde protokoll (SMP).
## Implementasjon
Server based chat application. Each user connects to a server that keeps control over all active users, and corectly route messages to the correct reciver.## Features
Klienten kan snakke med mer en annen klient
Endre status (online, busy)
Lagre brukere til disk
SHA256 enkrypsjon av passord
Klient: Søk etter brukere
Sortere etter brukernavn eller status
## Foreslåtte features
Sende meldinger til bruker som er logget av (Kan føre til Gruppechat)
Kryptering av meldinger
Kallenavn
Gif-implementasjon & Emjois
Når man sender respons til noen burde de bli farget i listen, for å indikere at du har sendt en respons.
## SMessage Protocol (SMP)
Hver kommando starter med TYPE [0,1]Der TYPE 0 er en kommando som skal tolkes, mens TYPE 1 er en melding.
Hvert parameter er separert med semikolon.Eks:
//Send a message (TYPE 1) to the username “Ane”. The message is “Hello”
TYPE 1;Ane;Hello// This is sent from server to client if the login failed
//Send a command (TYPE 0) from the server to the client,
TYPE 0;LOGINFAIL// This is sent to the server if i want to connect to Stan, or it is sent to a client if Stan want
// to connect to that person.
TYPE 0;CONNECT;Stan// This is sent from the server to a client if that client asks for a complete userlist. The username are followed by their status (+ = online, - = busy, 0 = offline)
TYPE 0;USERLIST;Ane;+;Stan;0;George;-Første melding til server er versjon av klient
Kommandoer server skal tolke:
- REGUSER
- LOGIN
- LOGOFF
- CONNECT
- RESPONSE
- GETUSERS
- USERSTATUSUPDATEKommandoer klient skal tolke
- CONNECT
- RESPONSE
- DISCONNECT
- USERLIST
- LOGINFAIL
- LOGINSUCCESS
- STATUSUPDATE
- REGUSERFAILStatus codes are specifed in the enum Status.java
GetUsers: Each username is followed with a status code, like in the following syntax example.
Syntax for commando STATUSUPDATE:
TYPE 0
GETUSERS
USERNAME
ONLINE
USERNAME2
OFFLINE
USERNAME3
BUSYSyntax for USERSTATUSUPDATE:
TYPE 0
USERSTATUSUPDATE
0||+||-# Plan
Uke 6
- GUI
uke 7
- Dokumentasjon
- Ekstra
uke 8
- Se over program og dokumentasjon
- EkstraIntern deadline: 22. februar
Innlevering: Mandag uke 9