2014-09-28 88 views
0

我有一個類連接是一種Zmq Request/Reply上的包裝。使用這個我會接受來自客戶端的請求並將回覆發送回去。用於實現這兩個功能是: -需要一種方法來同步兩個操作

void Connection::receiveMessage() 
{ 
//recv messages over zmq and send it to back-end. 
} 

void Connection::sendMessage() 
{ 
//This method would be called by back-end and it will send the message over Zmq. 
} 

問題面臨: - 作爲ZMQ請求/應答是同步操作,我必須發送應答(我會得到來自後端在響應於recvd消息)在收到新消息之前。在某些情況下,Connection類在後端對象上執行一個方法並返回。當後端準備好數據時,它會調用sendMessage。但在這裏我再次嘗試接收消息而不發送先前的響應。

任何人都可以請幫助我確保連接不會進入recv,直到它發送迴應以前的消息。 在此先感謝。

回答