如何使用SOAP处理多个客户端


How to handle multiple client with SOAP?

我有两个来自PHP的客户端调用c/c++函数getNumber();重复地,它从c服务器一次生成一个数字。现在它所做的是,每个生成的数字只能从客户端接收,其余的将接收下一个生成的数字。例如

客户A和B.

生成编号:1,2,3,4,5,6,7,8,9

客户A最终将收到1,3,5,7,9B将收到2,4,6,8

如何创建一个函数,使a和B可以接收所有生成的数字?

如果有一万或一千个客户怎么办?

感谢

我可以想出两种方法来解决这个问题。

首先,您可以构建服务器,使其记住有关每个客户端的一些状态信息,假设您使用SOAP,您可能必须向消息添加某种唯一的id令牌,这些令牌可能是服务器在客户端的第一次调用(或没有此类id令牌的调用)时生成的。然后在服务器中维护一个允许您处理每个调用的状态数据库。

第二种方法可能不合适,但如果序列中的下一个值可以根据上一个值确定,那么让每个客户端在下一次调用中提供上一个数值。您需要定义一些特殊的起始值来表示这是一个新客户端。

方法1具有处理任何类型的数据的优点,但其代价是需要在服务器上保存状态信息的数据库,并且如果您需要服务器可重新启动,则必须持久化数据。

方法2减少了对服务器的要求,但不适用于所有数据序列。