@@ -312,8 +312,13 @@ void
|
||||
SessionData::CloseWebSocketHandle()
|
||||
{
|
||||
if (m_webData) {
|
||||
#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L) // c++11
|
||||
std::error_code std_ec;
|
||||
m_webData->webSocketServer->close(m_webData->webHandle, websocketpp::close::status::normal, "PokerTH server closed the connection.", std_ec);
|
||||
#else
|
||||
boost::system::error_code ec;
|
||||
m_webData->webSocketServer->close(m_webData->webHandle, websocketpp::close::status::normal, "PokerTH server closed the connection.", ec);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -57,9 +57,14 @@ void
|
||||
WebSendBuffer::AsyncSendNextPacket(boost::shared_ptr<SessionData> session)
|
||||
{
|
||||
if (closeAfterSend) {
|
||||
boost::system::error_code ec;
|
||||
boost::shared_ptr<WebSocketData> webData = session->GetWebData();
|
||||
#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L)
|
||||
std::error_code std_ec;
|
||||
webData->webSocketServer->close(webData->webHandle, websocketpp::close::status::normal, "PokerTH server closed the connection.", std_ec);
|
||||
#else
|
||||
boost::system::error_code ec;
|
||||
webData->webSocketServer->close(webData->webHandle, websocketpp::close::status::normal, "PokerTH server closed the connection.", ec);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,10 +75,16 @@ WebSendBuffer::InternalStorePacket(boost::shared_ptr<SessionData> session, boost
|
||||
google::protobuf::uint8 *buf = new google::protobuf::uint8[packetSize];
|
||||
packet->GetMsg()->SerializeWithCachedSizesToArray(buf);
|
||||
|
||||
boost::system::error_code ec;
|
||||
boost::shared_ptr<WebSocketData> webData = session->GetWebData();
|
||||
#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L)
|
||||
std::error_code std_ec;
|
||||
webData->webSocketServer->send(webData->webHandle, string((const char *)buf, packetSize), websocketpp::frame::opcode::BINARY, std_ec);
|
||||
if (std_ec) {
|
||||
#else
|
||||
boost::system::error_code ec;
|
||||
webData->webSocketServer->send(webData->webHandle, string((const char *)buf, packetSize), websocketpp::frame::opcode::BINARY, ec);
|
||||
if (ec) {
|
||||
#endif
|
||||
SetCloseAfterSend();
|
||||
}
|
||||
|
||||
|
||||
@@ -49,9 +49,11 @@ public:
|
||||
virtual void Close();
|
||||
|
||||
protected:
|
||||
|
||||
#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L) // c++11
|
||||
typedef std::map<websocketpp::connection_hdl, boost::weak_ptr<SessionData>, std::owner_less<websocketpp::connection_hdl> > SessionMap;
|
||||
#else
|
||||
typedef std::map<websocketpp::connection_hdl, boost::weak_ptr<SessionData> > SessionMap;
|
||||
|
||||
#endif
|
||||
bool validate(websocketpp::connection_hdl hdl);
|
||||
void on_open(websocketpp::connection_hdl hdl);
|
||||
void on_close(websocketpp::connection_hdl hdl);
|
||||
|
||||
Reference in New Issue
Block a user