Apache、PHP、SOAP怎样配合工作
本人刚解除PHP,最近本人使用PHP自带的SOAP实现服务端的RPC功能。
看了很多server.php的例子,这些例子也能工作,但我还是产生了疑问。
一般server.php的代码是这样的:
1. 创建一个类,其中有若干成员函数。
2. 调用函数SoapServer()创建一个服务。
3. 将类中的函数进行注册。
4. 调用handle()函数处理客户端的RPC调用请求。
5. handle()函数返回后,本次服务算是结束。
如果只有一台PC发起客户端请求,apache服务器很容易应付。但如果有成千上万个client请求,
按上面的流程处理,岂不是要创建n次服务例程,销毁n次例程,效率低下可想而知。
或许php不是这样工作的,那么当收到n个(数量多)服务请求时,apache、PHP是怎样处理SOAP请求的呢。
只需大概讲一下处理流程。
------解决方案--------------------
是要创建n次服务例程,销毁n次例程
但是,效率低下可想而知 这样的结论就太武断了
web 服务使用的是无状态的 http 协议,既然是无状态的,那么就不需要服务器端的持久对象
况且 SoapServer()创建一个服务 中的服务只是一个名称而已,并非真正意义上的服务
------解决方案--------------------