Download presentation
Presentation is loading. Please wait.
Published byHilary Casey Modified over 9 years ago
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;
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.