From 13efdcbda6029486c81190881873836126569fc6 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Wed, 29 Mar 2017 15:02:29 +0300 Subject: Initial commit --- README.md | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..d3be80e --- /dev/null +++ b/README.md @@ -0,0 +1,72 @@ +# Chat-palvelin + +Chat-palvelin tietoliikennekurssin työksi. + +## Versiot +* Python 3.5 +sekä Python-kirjastot +* socket (latest) +* threading (latest) + +## Suunnitelma + +Projektin tavoite on tehdä palvelin-asiakas-keskusteluohjelma, joka tukee viestien lähettämistä, palvelimelle yhdistämistä ja sieltä poistumista. + +## Protokolla + +Ohjelmalle on suunniteltu TCP:n päälle viestintäprotokolla. + +### Palvelimelta asiakkaalle + +#### BROADCAST +Välittää asiakkaan lähettämän viestin muille asiakkaille. + +``` +BROADCAST\n +user_name\n +message content\n +\0 +``` + +### Asiakkaalta palvelimelle + +#### CONNECT +Ilmoittaa yhdistäneen asiakkaan käyttäjänimen. + +``` +CONNECT\n +user_name\n +\0 +``` + +#### DISCONNECT +Ilmoittaa asiakkaan katkaisevan yhteyden. + +``` +DISCONNECT\n +user_name\n +\0 +``` + +#### MESSAGE +Lähettää viestin palvelimelle välitettäväksi muille asiakkaille BROADCASTilla. + +``` +MESSAGE\n +user_name\n +message content\n +\0 +``` + +#### KEEPALIVE +Ylläpitää yhteyttä palvelimeen, jos käyttäjä ei ole aktiivinen. Lähetetään tasaisin väliajoin. + +``` +KEEPALIVE\n +user_name\n +\0 +``` + +## Tekijät + +Jan Tuomi ja Toni Miilunpalo -- cgit v1.3