2015-12-09 61 views
0

如果我設置了錯誤/繁忙端口,我無法獲得端點錯誤。我使用從boost端點公開繼承的websocket服務器。我想在這裏處理錯誤:手柄升壓端點偵聽/運行錯誤

try { 
    m_server.reset(); // leads to some errors/warnings in console, but it works :) 
    m_server.listen(777777777); 
    m_server.start_accept(); 

    m_thread = std::thread(&Server::run, &m_server); 

    return true; 
} 
catch (...) { 
    m_running = false; 
    return false; 
} 

我試過m_server.is_listening(),m_server.stopped()等,但它們顯示了這兩個規範/壞端口號相​​同的結果。我如何處理錯誤?

UPD1:我用websocketpp

回答

1

嘗試追趕websocketpp::exception類型的異常,並呼籲他們的code()方法。這應該返回一個特定的錯誤代碼,您可以檢查它是否是「錯誤/繁忙的端口」或其他錯誤。另外,如果你想避免異常,大多數方法(比如listen)都會接受第二個錯誤代碼參數,並且會用在異常中設置的錯誤代碼來填充它。

+0

我忘了在這裏回覆我的解決方案。 – user2123079