123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
- #include <signal.h>
- #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;
- }
|