【发布时间】:2015-05-26 09:33:38
【问题描述】:
好的,我对此束手无策。我需要编写一个可以在连接到互联网的不同机器上运行的服务器和客户端(不在同一个网络/路由器上)。我尝试过 RMI、RMI-IIOP、EJB/GlassFish、CORBA,但我所做的一切都不起作用(通过互联网)。我一定学过 30 篇教程、示例和指南,但它们都被设计为在一台机器上运行,当尝试从另一台计算机远程连接时它不起作用。
我想要的只是一个“hello world”类型的示例,其中服务器从计算机 1 启动/部署,客户端在计算机 2 上运行,它们可以通过 Internet 交换简单的对象和变量。所以我可以解构它并“看到”我做错了什么。
拜托,拜托,请有人指点我一个教程的方向,或者只是专门通过互联网交流的代码。
我一直在使用 Oracle、netbeans、coderanch、stackoverflow,但没有发现任何帮助。
我在 Windows 7(两台计算机)上使用 NetBeans 8.0.2 和 GlassFish 4.1
编辑 - 澄清问题。
我编写了一个程序,其工作方式与 Teamviewer 类似,我可以在其中监视同一网络上多台计算机的屏幕,并在需要时与这些计算机进行交互。我的软件本质上是抓取屏幕截图并将它们作为字节数组传输,以及发送包含屏幕、系统、鼠标和键盘信息的各种简单数据对象。这适用于 RMI,但我想扩展它以支持不在同一网络上的计算机,因此通过互联网。我在这里读过 RMI 不适合,我的测试已经证实了这一点。所以我的下一个合乎逻辑的步骤是使用 EJB 或 RMI-IIOP,但我根本无法让它们通过网络工作,更不用说通过互联网了。所以我真的在这里寻求一些帮助,以了解我做错了什么,因此通过互联网请求“你好世界”。我在这方面的经验很少,每个例子都是本地的,所以我需要弥合从本地到互联网的差距。我认为我的部分误解是我认为 Glassfish 将我的服务器实验暴露在互联网上,而不仅仅是在本地。如您所见,我的知识存在一些空白,希望您能帮助我填补。
【问题讨论】:
-
您应该检查如何在这些教程中更改配置。您的实际问题是什么,请记住我们不分发代码?
-
对我来说,您似乎在区分本地服务器实例(仅适用于您的计算机)和实际的 Internet 连接服务器之间存在问题。您已经写过您正在使用 GlassFish 4.1 服务器,问题是,该服务器在哪里可用:)?它是仅部署在您的计算机上,还是由某些远程 Internet 服务托管?为了使您的服务可用,您必须授予它一些公共领域。这可以在openshift.com 轻松完成。阅读其中包含的一些教程,几天之内您就可以发布您的服务。
-
我已经更新了 OP 以澄清。我认为这正是我的问题。我现在正在注册 openshift,希望我能在这方面取得进一步进展。
-
你什么都没澄清。您已经说过某些事情不起作用,并且您已经问过如何做其他事情。这完全是模糊的。你也有一个existing question,关于你已经接受了一个答案并提出了一个已经回答的后续问题的同一主题。
-
不正确!我再次询问(更详细地说明我打算将它用于什么)是否有人可以帮助我理解,最好是链接到如何在互联网上使用这些技术的示例。这里的其他人似乎明白我在问什么,你的问题是什么?