int main()
{
int thread_num = 2;
pthread_t tids[thread_num];
for (int i = 0; i < thread_num; i++) {
if (pthread(&tids[i], NULL, CreateServer, NULL) != 0) {
cout << "Create WebSocket server " << i << ":failed!" << endl;
}
}
pthread_exit(NULL);
return 0;
}
void* CreateServer()
{
// Create a server endpoint
server echo_server;
// Initialize ASIO
echo_server.init_asio();
// Register our message handler
echo_server.set_message_handler(bind(&on_message,&echo_server,::_1,::_2));
echo_server.set_http_handler(bind(&on_http,&echo_server,::_1));
echo_server.set_tls_init_handler(bind(&on_tls_init,MOZILLA_INTERMEDIATE,::_1));
echo_server.set_reuse_addr(true);
// Listen on port 9002
echo_server.listen(9002);
// Start the server accept loop
echo_server.start_accept();
// Start the ASIO io_service run loop
echo_server.run();
}