0

是否可以编写一个可以作为客户端本地网络中客户端计算机上的服务器的 Java 小程序?

更具体地说,我想做的是通过网络隧道传输非网络流量。发送者将发送到小程序,然后小程序将接收到的数据转发回服务器。

这种事情可能吗?可能会遇到哪些限制?

注意:我知道小程序可以连接回服务器,这不是问题。问题是小程序是否可以侦听本地客户端端口上的连接/数据。

4

3 回答 3

3

未签名的小程序只能连接它们来自的主机。

一个签名的小程序可以做任何你想要的连接,并且可以监听 tcp-ip 端口。

来源:http ://docs.oracle.com/javase/tutorial/deployment/applet/security.html

于 2012-06-06T19:59:04.240 回答
1

服务器没有连接到任何地方。服务器打开服务器套接字并正在监听。

据我所知,过去服务器套接字在 MSIE 中受到限制,而在 Netscape 中是允许的(你还记得这样的浏览器吗?):)

在过去的 10 年里,我个人没有编写小程序,所以我不知道现在现有的浏览器会发生什么,但很容易检查。只需编写最短的小程序并将代码new ServerSocket(1234).accept();放入其init()start()方法中。如果没有抛出异常,您可以编写用作服务器的小程序。否则你不能。

只需使用所有可用的浏览器进行尝试。20分钟的工作,你就完成了。祝你好运。我很高兴知道结果。

于 2012-06-06T20:14:15.710 回答
0

一般来说,它不能。

一个原因是小程序倾向于在安全受限的环境中运行,这意味着它们被拒绝打开服务器套接字的能力。

绕过这样的限制是有办法的,基本上你可以为小程序指定一个特殊的安全策略,或者在一个特殊的无约束容器中运行它;但是,当您可以将应用程序的内容移植到标准 servlet 甚至独立服务器时,为什么还要麻烦呢?

于 2012-06-06T20:00:01.023 回答