api tweaks, origin and uri detection behaviors. chat server updated for new apis

This commit is contained in:
Peter Thorson
2011-11-13 07:12:37 -06:00
parent 74aa325591
commit 4ed86a7c30
11 changed files with 146 additions and 94 deletions

View File

@@ -36,46 +36,33 @@ using boost::asio::ip::tcp;
using namespace websocketchat;
int main(int argc, char* argv[]) {
std::string host = "localhost";
short port = 9003;
std::string full_host;
if (argc == 3) {
if (argc == 2) {
// TODO: input validation?
host = argv[1];
port = atoi(argv[2]);
}
std::stringstream temp;
temp << host << ":" << port;
full_host = temp.str();
chat_server_handler_ptr chat_handler(new chat_server_handler());
try {
boost::asio::io_service io_service;
tcp::endpoint endpoint(tcp::v6(), port);
// create an instance of our handler
server_handler_ptr default_handler(new chat_server_handler());
websocketpp::server_ptr server(
new websocketpp::server(io_service,endpoint,chat_handler)
);
// create a server that listens on port `port` and uses our handler
websocketpp::basic_server_ptr server(new websocketpp::basic_server(port,default_handler));
server->elog().set_levels(websocketpp::log::elevel::DEVEL,websocketpp::log::elevel::FATAL);
server->alog().set_level(websocketpp::log::alevel::ALL);
// setup server settings
server->add_host(host);
server->add_host(full_host);
// Chat server should only be receiving small text messages, reduce max
// message size limit slightly to save memory, improve performance, and
// guard against DoS attacks.
server->set_max_message_size(0xFFFF); // 64KiB
//server->set_max_message_size(0xFFFF); // 64KiB
// start the server
server->start_accept();
std::cout << "Starting chat server on port " << port << std::endl;
std::cout << "Starting chat server on " << full_host << std::endl;
io_service.run();
server->run();
} catch (std::exception& e) {
std::cerr << "Exception: " << e.what() << std::endl;
}