NetSocket--/tests/tcpsrvtest.cpp
2013-02-26 23:51:23 +01:00

43 lines
1.3 KiB
C++

#include <iostream>
#include <cstdlib>
#include <string>
#include "NetSocket++/NetSocketPP.h"
using namespace std;
NetSocketPP::ServerFunctionArgs& serverMain(NetSocketPP::ServerFunctionArgs args, NetSocketPP::ServerSocket* sck) {
static NetSocketPP::ServerFunctionArgs ret;
try {
sck->send(args[0], 0);
sck->recv(0);
ret.addArgument(sck->get());
} catch (NetSocketPP::NetworkException &exc) {
cerr << "Network exception in server function: " << exc.what() << endl;
ret.addArgument("exception");
} catch (NetSocketPP::SocketException &exc) {
cerr << "Library exception in server function: " << exc.what() << endl;
ret.addArgument("exception");
}
return ret;
}
int main() {
cout << "Server message: " << endl;
string msg;
cin >> msg;
try {
NetSocketPP::ServerSocket socket("0.0.0.0", "3490", "TCP");
NetSocketPP::ServerFunctionArgs args;
NetSocketPP::ServerFunctionArgs ret;
args.addArgument(msg);
socket.startServer(ret, serverMain, args, false, 1, 5);
cout << "Server function returned: " << ret[0] << endl;
return EXIT_SUCCESS;
} catch (NetSocketPP::NetworkException &exc) {
cerr << "Network exception in main function: " << exc.what() << endl;
return 2;
} catch (NetSocketPP::SocketException &exc) {
cerr << "Library exception in main function: " << exc.what() << endl;
return 1;
}
}