V
VictorWoo
Unregistered / Unconfirmed
GUEST, unregistred user!
基本需求:
Client在内网,Server在公网。当Client连上Server后,Server由用户操作,可随时向Client发命令。Client *即*时* 执行完后返回结果给Server,Server处理并显示执行结果。
难点:
由于SOAP或者是TIdHTTP,都必须是Client主动连接Server,而连上以后,业务请求全部是倒过来由Server对Client发。
以上过程希望通过SOAP或indy HTTP Client/Server实现,不知可否?
还有一个半成品的思路:
Client在一个心跳周期中问Server:我需要做什么?然后阻塞
Server不马上回答,直到用户指定了某操作了以后,才回答:你要做XXX。(这一步是否可以用线程中加WaitForSingleObject?)
Client收到这个回复,执行XXX操作,把结果送回服务器,并要求下一轮:“我需要做什么?”
若Server的回复超过了1个心跳周期,Client重复上述过程。Server也使用定时器清除过期的请求。
当然如果SOAP或indy http可以做到Server随时调Client中的函数,上面的所有机制都不用了。不知道能否满足上述需求?
Client在内网,Server在公网。当Client连上Server后,Server由用户操作,可随时向Client发命令。Client *即*时* 执行完后返回结果给Server,Server处理并显示执行结果。
难点:
由于SOAP或者是TIdHTTP,都必须是Client主动连接Server,而连上以后,业务请求全部是倒过来由Server对Client发。
以上过程希望通过SOAP或indy HTTP Client/Server实现,不知可否?
还有一个半成品的思路:
Client在一个心跳周期中问Server:我需要做什么?然后阻塞
Server不马上回答,直到用户指定了某操作了以后,才回答:你要做XXX。(这一步是否可以用线程中加WaitForSingleObject?)
Client收到这个回复,执行XXX操作,把结果送回服务器,并要求下一轮:“我需要做什么?”
若Server的回复超过了1个心跳周期,Client重复上述过程。Server也使用定时器清除过期的请求。
当然如果SOAP或indy http可以做到Server随时调Client中的函数,上面的所有机制都不用了。不知道能否满足上述需求?