我有两个来自PHP的客户端调用c / c ++函数getNumber();重复地,并且从c服务器它一次生成一个。现在它做的是每个生成的数字只能从客户端收到,其余的将收到下一个生成的数字。例如
客户A和B.
生成的数字:1,2,3,4,5,6,7,8,9
客户A最终将收到1,3,5,7,9 B将收到2,4,6,8
如何创建A和B可以收到所有生成的数字的功能?
如果有十个或一千个客户怎么办?
由于
答案 0 :(得分:0)
我可以想到两种方法可以解决这个问题。
首先,您可以构建服务器,以便记住有关每个客户端的某些状态信息,因为您使用SOAP可能需要在消息中添加某种唯一的ID令牌,可能由服务器生成来自客户端的第一次呼叫(或没有这种id令牌的呼叫)。然后在服务器中维护一个状态数据库,允许您处理每个调用。
第二种方式可能不合适,但如果您的序列中的下一个值可以从之前的值确定,那么让每个客户端提供前一个值作为下一个调用的一部分。您需要定义一些特殊的起始值,表明这是一个新的客户端。
方法1具有处理任何类型数据的优点,但代价是需要在服务器上保存状态信息的数据库,并且如果您需要服务器可重新启动,则必须保留数据。
方法2对服务器的要求较低,但对所有数据序列都不起作用。