ace

    1熱度

    1回答

    我有一個用C++編寫的linux應用程序。 應用程序偵聽某個端口上的套接字。我使用ACE Acceptor實現了這一點。 此外,應用程序使用init腳本/etc/init.d/postgresql啓動postgresql數據庫,通過調用ACE_OS :: system函數啓動。 我遇到的問題是:當應用程序退出時,端口仍然被佔用。當我運行netstat時,我發現postgres正在監聽那個端口。 (

    0熱度

    1回答

    爲調試的原因,我想在控制檯中顯示我的傳出數據包。 數據包順利到達服務器btw。 但是如果我想他們在控制檯發送之前顯示的話,那只是和什麼: ACE_Message_Block *m_Header; ... size_t send_len = m_Header->length(); // Size of the Message Block char* output

    1熱度

    1回答

    我目前正在研究機器人仿真環境。 可以通過網絡連接控制/監控可以與虛擬世界互動的機器人。 對於整個網絡通信(當然還有其他的例如線程),我們使用ACE庫。 我現在的問題是,在我看來,異步UDP部分已損壞。 運行ACE附帶的測試程序「test_udp_proactor -h localhost -p 55555」時,我將始終得到錯誤代碼89(需要目標地址)。 到目前爲止,這是我嘗試過,但沒有任何幫助:

    0熱度

    1回答

    我正在使用ACE框架,但我會盡量不引用它來描述我的問題。 我有一個事件處理程序(派生自ACE_Event_Handler的類)。 對事件處理函數的引用由shared_ptr的映射中的某個經理類保存。 在一定的時間點我想: 移除經理地圖事件處理 事件處理程序的一些方法應該由第三類被稱爲持有行指針的事件處理程序(那些熟悉ACE的,它是由ACE Reactor調用的handle_close()) 問題是

    0熱度

    1回答

    我寫了試圖收購命名爲「標記」相同的遠程互斥兩個小程序: ACE_Remote_Mutex token("The Token", 1, 1); token.acquire(); ACE_OS::sleep(5); token.release(); return 0; 他們都得到了下面的調試輸出: (3078597488) acquired The Token (4243|30785

    2熱度

    4回答

    如果我有一個服務所在的IP地址(如70.70.70.70),要連接的多播組(如224.25.25.25)和端口(如2020),如何連接到遠程udp多播? 我使用ACE框架,並在嗅探器中看到ACE將IGMP數據包發送到224.0.0.2,以便加入一個組,但是我的家庭路由器(檢查點)不知道如何處理它。

    0熱度

    3回答

    我試圖打開已經打開的UDP端口,並且ACE_SOCK_Dgram :: open()失敗。 正如所料,strace顯示bind()失敗,errno設置爲EADDRINUSE。 要查看發生了什麼錯誤,我使用了ACE_OS :: last_error(),但沒有更新。 我想給用戶說明該端口已經在使用,而不是一些一般性的錯誤。 獎金問題 - 何時可以使用ACE_OS :: last_error()? T

    0熱度

    1回答

    我有一個ACE反應器,它接受套接字連接並偵聽這些連接上的傳入數據。反應器在專用線程中運行。這是線程的入口函數: int TcpServer::svc() { LogDebug("The TCP server on %i is running", mLocalAddr.get_port_number()); // The current thread will own the

    0熱度

    1回答

    我需要在Linux上從C++進程中運行shell命令並獲取其返回值。 有沒有辦法與ACE?我知道在C++中我可以使用popen。我正在尋找ACE解決方案。

    3熱度

    1回答

    Boost asio實現了在ACE proactor上掛着的proactor設計模式。 我明白我們爲什麼需要異步讀取。 Hovewer,我對異步寫入感到困惑。 爲什麼我們需要的是異步寫入? 它也可以用於TCP/UDP連接嗎(可以寫入TCP/UDP套接字需要時間)? 我可以將異步讀取與同步寫入混合使用嗎?