是否可以实现异步套接字服务器,但可以在命令中接收消息

时间:2020-04-16 18:03:20

标签: c# .net sockets

我想创建服务器套接字,该套接字将始终能够接受新客户端,但是它具有诸如“回合”的逻辑。在该回合开始时,只有连接的套接字将能够参与,服务器将期待从中得到答案(当时是一个答案,然后进行处理并向下一个套接字发出信号,表示他必须做出响应)。当回合正在进行时,其他客户端可以连接,但是他们将不得不等待下一个回合。

我的问题是,我可以使用同步服务器来做到这一点还是必须使用异步(在这种情况下,我不知道如何要求每个客户端在给定的时间做出响应)

1 个答案:

答案 0 :(得分:0)

我建议不要在套接字连接基础上建立会话,而是在客户端连接时将它们分配到一个回合并分配一个会话令牌。如果正在进行一轮,则将客户端分配给下一轮,并且直到接收到表示下一轮已经开始的消息之前,它们不会交互。这样做,您可以从服务器端管理交互,如果客户端失去连接,他们可以重新连接并重新提交会话令牌,他们已经必须继续进行会话。您可能会有这些会话令牌超时等。