12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- /*
- * File: main.c
- * Author: Arthur Brandao
- *
- * Created on 22 novembre 2018
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- #include <signal.h>
- #include "error.h"
- #include "bomberstudent_server.h"
- #include "main.h"
- /* --- Extern --- */
- extern Error error;
- /* --- Global --- */
- boolean stop = false;
- /* --- Fonctions privées --- */
- void handler(int sig){
- //Si SIGINT
- if(sig == SIGINT){
- stop = true;
- //Remet le handler
- signal(SIGINT, handler);
- //Avertit les clients
- notify_close(END_USER);
- }
- }
- /* --- Fonctions publiques --- */
- void notify_close(int code){
- //Encode la reponse
- JsonEncoder je;
- ini_encoder(&je);
- add_integer(&je, "status", code);
- //Avertit tous les clients
- notify_all("POST", "server/end", &je);
- }
- int main(){
- //Lancement gestion d'erreur
- error_finit("bomberstudent_server.log");
- //Inialise le serveur
- ini_server();
- //Gestion des signaux
- signal(SIGINT, handler);
- //Ajout des handlers
- /*add_handler("POST", "aze/rty", handler);*/
- //Lance le serveur UDP
- if(!launch_udp_server(PORT_UDP)){
- error.print("Impossible de démarrer le serveur");
- error.exit_err();
- }
- //Lance les seerveurs TCP
- if(!launch_tcp_server(PORT_TCP)){
- error.print("Impossible de démarrer le serveur");
- error.exit_err();
- }
- //Attend la fin du programme
- while(!stop){
- pause();
- }
- error.end();
- return EXIT_SUCCESS;
- }
|