| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
C Websocket Server
A websocket server written in C for a course followed at InHolland University of Applied Science.
This websocket server parses JSON data sent by the client in order to control the state of GPIO pins by writing them to a SQL database.
Or using Docker:
argp is used for simplification of command line argument parsing.
libtap is used for unit testing, all tests can be found inside the /tests directory.
wsServer is used as socket server, writing a custom socket library was abundant for the course followed.
json-c is used to cast incoming JSON objects into data envelopes.
libmysqlclient is used for a connection to the SQL database.
A request from the client would look as follows:
{
"auth": <authentication:str>
"payload": {
"sensorId": <sensor.id:str>
"sensorData": <sensor.data:str>
}
}After the request has been parsed, it will be processed by a handler which will in turn give a status code / data struct. This can be one of:
enum RESPONSE_CODES {
SUCCESS,
MISSING_JSON,
MISSING_PAYLOAD,
MISSING_AUTH
};
[ { "sensorId": <sensor.id:str>, "state": <sensor.state:str> }, ... ]| Back | FazBrowse Home | New Git URL |