我想基于套接字设置服务器-客户端通信。客户端可以连接到服务器并从中接收不同的通知。这可以在客户端实现如下
...
Message* msg = NULL;
while ( msg = receiveMessage() )
handleMessage( msg );
...
此代码将在客户端的单独线程中运行,并应处理来自服务器的不同类型的通知。但是客户端也应该能够通过发送请求与套接字进行通信,即
Request requestMsg;
if ( sendMessage( requestMsg ) )
{
Message* response = receiveMessage();
if ( response->type() == REQUEST_REPLY )
...
}
问题:如何实现这一目标?我不想中断阅读线程,但我应该收到对特定请求的响应。这是基于本地域流的 unix 套接字。