IXWebSocket/examples/echo_server/echo_server.cpp

55 lines
1.3 KiB
C++
Raw Normal View History

2018-12-30 08:15:27 +01:00
/*
* echo_server.cpp
* Author: Benjamin Sergeant
* Copyright (c) 2018 Machine Zone, Inc. All rights reserved.
*/
#include <iostream>
#include <sstream>
#include <ixwebsocket/IXWebSocketServer.h>
int main(int argc, char** argv)
{
int port = 8080;
if (argc == 2)
{
std::stringstream ss;
ss << argv[1];
ss >> port;
}
ix::WebSocketServer server(port);
server.setOnConnectionCallback(
[](ix::WebSocket& webSocket)
{
webSocket.setOnMessageCallback(
[&webSocket](ix::WebSocketMessageType messageType,
const std::string& str,
size_t wireSize,
const ix::WebSocketErrorInfo& error,
const ix::WebSocketCloseInfo& closeInfo,
const ix::WebSocketHttpHeaders& headers)
{
if (messageType == ix::WebSocket_MessageType_Message)
{
std::cout << str << std::endl;
webSocket.send(str);
}
}
);
}
);
auto res = server.listen();
2018-12-30 08:15:27 +01:00
if (!res.first)
{
std::cerr << res.second << std::endl;
return 1;
2018-12-30 08:15:27 +01:00
}
server.run();
2018-12-30 08:15:27 +01:00
return 0;
}