aboutsummaryrefslogtreecommitdiffstats

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