Skip to content

📨 Simple messenger based on UDP socket broadcast

Notifications You must be signed in to change notification settings

xtenzQ/QBroadcastMessenger

Repository files navigation

📨 QBroadcastMessenger

Messenger which uses UDP boradcast to send messages. The application is developed as university project at Irkutsk National Research Techincal University.

Contents

  1. IDEs and plugins used
  2. Installation
  3. Message structure
  4. Settings

IDEs and plugins used

Installation

Simply clone it:

git://github.com/xtenzQ/QBroadcastMessenger.git

To run application you need EMIPLIB library (for calls), which can be build with CMAKE or you can use prebuild libraries (I will put link later). Put libs in C:/ folder (or anywhere you want but don't forget to change path) and then add to your .pro-file following strokes:

INCLUDEPATH += C:\libs\jrtplib\include
INCLUDEPATH += C:\libs\jthread\include
INCLUDEPATH += C:\libs\emiplib\include\emiplib

LIBS += -L"C:\libs\jrtplib\lib" -ljrtp
LIBS += -L"C:\libs\jthread\lib" -ljthread
LIBS += -L"C:\libs\emiplib\lib" -lemiplib
LIBS += -lws2_32

Message structure

QBroadcastMessenger uses the custom message structure described below:

  • When you first appear in the net app sends CONNECT message (sayHi() method in ConnectionManager class) of the given form: EVMp_CONNECT_%username_length%_%username%
  • To notify other apps of you staying connected in the network app sends ALIVE message (ping() method in ConnectionManager class) of the given form: EVMp_ALIVE_%username_length%_%username%
  • To send message to all the clients in the network app sends SENDMESSAGE message (sendMessage() method in ConnectionManager class) of the given form: EVMp_SENDMESSAGE_%message_length%_%message%

Settings

Settings file is stored in %APP_DATA%/QBroadcastMessenger folder. File has the following structure:

[network]
ip=172.27.24.255
port=14000
broadcast=true

[personal]
nickname="Tsukasa"

Architecture

About

📨 Simple messenger based on UDP socket broadcast

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published