我有以下要求:
用户登陆网站并发布任务请求。
有多台机器(客户端)运行已安装的软件(不是网络浏览器),可以执行任务。
Web服务器必须询问这些客户端是否愿意完成任务。我希望web服务器在aws上运行。
这是我到目前为止所理解的:
客户端可以是java套接字客户端。
aws上可以有一个套接字服务器。
webserver与套接字服务器通信,并要求它与套接字客户端通信并获取响应。
其他选项可能是使用websocket,但我需要客户端是安装的软件而不是浏览器。在这种情况下是否可以消除对服务器套接字的需求?
请建议最好的方法。链接到一些教程将非常有帮助,或者至少我知道要google什么。
谢谢
答案 0 :(得分:0)
我建议使用RMI(远程方法调用)它是健壮的,似乎适合你想要完成的任务:
http://en.wikipedia.org/wiki/Java_remote_method_invocation
我还建议使用LipeRMI,这是一个很好的,易于遵循的RMI库。
这是一个很好的链接,可让您快速了解其工作原理以及代码的外观:http://lipermi.sourceforge.net/documentation.php
它允许您调用服务器上的方法并发送/接收序列化对象。唯一的问题是,如果您需要执行文件传输之类的操作,这样就无法使用它只适用于java对象。