我想設置基於套接字的服務器 - 客戶端通信。客戶端可以連接到服務器並從中接收不同的通知。這可以在客戶端如下基於套接字的事件循環
...
Message* msg = NULL;
while (msg = receiveMessage())
handleMessage(msg);
...
此代碼將在獨立的線程在客戶端上運行,並應處理各種通知從服務器來實現。但是,用戶還應該能夠通過發送請求與插座進行溝通,即
Request requestMsg;
if (sendMessage(requestMsg))
{
Message* response = receiveMessage();
if (response->type() == REQUEST_REPLY)
...
}
問題:如何實現這一目標?我不想中斷閱讀線程,但我應該收到對特定請求的響應。這是本地域基於流的unix套接字。