我有一个服务器,有两个客户端通过TCP连接到它。
这些客户端不断向服务器发送信息。
这是一个代理服务器,它会中继来自客户端的消息。
但是它必须交替地中继消息。也就是说,从客户端A的消息开始,然后是客户端B的消息,接着是客户端A的消息,然后是B的消息,如此循环。
我可以通过检查消息来自哪个客户端并交替中继消息,并忽略同一客户端连续的消息来实现这一点。
然而,如果任何一个客户端断开连接或者没有发送消息,我也不希望服务器被卡住。 如果发生这种情况,代理将会永远等待来自已经断开连接的客户端(或因某种原因没有发送消息的客户端)的消息。在这种情况下,我希望服务器中继来自仅剩连接的客户端的消息。
因此我想知道是否有可能像这样做。如果我得到了来自同一客户端的2条连续消息,我想检查另一个客户端是否准备好向我发送消息。 我的问题是,是否可以从另一个客户端的套接字中检查是否有已缓冲且准备好发送的消息。 在这种情况下,可以忽略来自同一客户端的连续消息,而是首先发送检查过的另一个客户端的消息。
这可行吗?希望我已经清楚地提出了问题。
谢谢。
然而,如果任何一个客户端断开连接或者没有发送消息,我也不希望服务器被卡住。 如果发生这种情况,代理将会永远等待来自已经断开连接的客户端(或因某种原因没有发送消息的客户端)的消息。在这种情况下,我希望服务器中继来自仅剩连接的客户端的消息。
因此我想知道是否有可能像这样做。如果我得到了来自同一客户端的2条连续消息,我想检查另一个客户端是否准备好向我发送消息。 我的问题是,是否可以从另一个客户端的套接字中检查是否有已缓冲且准备好发送的消息。 在这种情况下,可以忽略来自同一客户端的连续消息,而是首先发送检查过的另一个客户端的消息。
这可行吗?希望我已经清楚地提出了问题。
谢谢。