#include #include #include #include #include "Server.h" Server server; void interruptHandler(int signal) { serverRemove(&server); exit(EXIT_SUCCESS); } void package0(Stream* in) { int i; if(streamGetInt(in, &i) != -1) { printf("first number: %d\n", i); } else { printf("first number: ---\n"); } if(streamGetInt(in, &i) != -1) { printf("second number: %d\n", i); } else { printf("second number: ---\n"); } } void package1(Stream* in) { char buffer[128]; streamGetChars(in, buffer, 128); printf("%s\n", buffer); } void package2(Stream* in) { printf("I'm not containing any data.\n"); } int main() { serverInitDefaults(&server); signal(SIGINT, interruptHandler); signal(SIGKILL, interruptHandler); if(serverInit(&server, 3, 6543) == -1) { return EXIT_FAILURE; } serverRegisterHandler(&server, package0); serverRegisterHandler(&server, package1); serverRegisterHandler(&server, package2); serverWaitForConnection(&server); serverRemove(&server); return EXIT_SUCCESS; }