Presentation is loading. Please wait.

Presentation is loading. Please wait.

Goals Develop a simple text chat protocol which will provide: public messaging, deliver to all on the server; private messaging, deliver to the specified.

Similar presentations


Presentation on theme: "Goals Develop a simple text chat protocol which will provide: public messaging, deliver to all on the server; private messaging, deliver to the specified."— Presentation transcript:

1

2 Goals Develop a simple text chat protocol which will provide: public messaging, deliver to all on the server; private messaging, deliver to the specified client; nickname system; server management, i.e. kicking ‘bad’ guys; periodical connection checking, ping-pong exchange. Implement both its server and client sides using c++ programming language and its features from latest standard, c++11.

3 The protocol, OutVoice IM Protocol uses verbs for main actions and their past form for server replies, e.g. SHOUT becomes SHOUTED; Main commands: SHOUT/SHOUTED; WHISPER/WHISPERED; TAKENICK/TOOKNICK; QUIT/QUITED.

4 Events flow Each client hangs on its socket and listens to it; If a message arrives, the client creates Event object and passes it to the EventsQueue; Server’s auxiliary thread, processEvent, gets the Event and acts accordingly, e.g. sends message for all on the server.

5 Clients Main client is written on c++ programming language and uses FLTK toolkit as GUI framework; Also there were written a pair of bots using python3: the weather bot uses openweather API, JSON; the calc bot uses wolfram API, XML.

6 Tools Wireshark enables developers to write dissectors for their custom protocols using Lua 5.2;


Download ppt "Goals Develop a simple text chat protocol which will provide: public messaging, deliver to all on the server; private messaging, deliver to the specified."

Similar presentations


Ads by Google