**:
伺服器在建立時使用的endpint格式為
tcp -h ip位址 -p 埠
1、ip位址的選擇
如果填某個網絡卡的位址,則只在這個位址上監聽,客戶端必須連這個ip才能連通,通常情況下,不同機器之間互相呼叫一般用0.0.0.0,表示在所有網絡卡上監聽
如果只在同一機器上不同程序之間通訊,建議伺服器監聽ip使用127.0.0.1,客戶端在連線時也用127.0.0.1,這樣的好處是,預設防火牆不會彈出是否允許的警告
2、埠的選擇
一般情況下,伺服器建立的服務的ip是固定的,所以埠號可以直接固定寫死,這樣才能保證客戶端知道如何找到伺服器
特殊情況下,為防止埠被占用,伺服器也可指定埠號為0,讓系統分配乙個空閒的埠來起服務,然後伺服器將該埠記錄在特定位置(e.g.共享記憶體),客戶端先從中取到埠後再連線伺服器並呼叫
當指定埠為0時,系統分配乙個空閒埠,獲取埠的**如下 :
ice::communicatorptr g_communicator;
void startmyice()
程序間通訊和執行緒間通訊
程序間通訊 ipc,interprocess communication 是一組程式設計介面,讓程式設計師能夠協調不同的程序,使之能在乙個作業系統裡同時執行,並相互傳遞 交換資訊。這使得乙個程式能夠在同一時間裡處理許多使用者的要求。因為即使只有乙個使用者發出要求,也可能導致乙個作業系統中多個程序的執...
程序間通訊和執行緒間通訊總結
死鎖的四個必要條件 資源有限 持有等待 不能搶占 迴圈等待條件 死鎖的應對方式 消除獨佔條件 即將資源無限增加或者變為共享 消除保持和請求條件 即乙個程序一次請求其所需要的所有資源,而不是請求一點資源做一點事情,但是這樣太過浪費。消除非搶占條件 即允許對資源進行搶占 消除迴圈等待條件 即產生迴圈等待...
程序間通訊方式和執行緒間通訊方式
1.管道 pipe 管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在具有親緣關係的程序間使用。程序的親緣關係通常是指父子程序關係。2.訊號量 semophore 訊號量是乙個計數器,可以用來控制多個程序對共享資源的訪問。它常作為一種鎖機制,防止某程序正在訪問共享資源時,其他程序也訪問該資源。...