代理后面的Java Socket编程

时间:2009-03-31 05:43:36

标签: java sockets

我编写了一个TCP IP套接字程序,可以正常工作。 但是如果我的服务器或客户端落后于代理,我的套接字程序就不起作用。 那么如何克服这类问题。

由于 BAPI

3 个答案:

答案 0 :(得分:2)

有两个问题需要考虑:

  1. 代理人背后;和
  2. 在防火墙后面。
  3. 防火墙往往更容易:您只需使用端口80(HTTP)或443(HTTPS)。代理更难,因为直接网络通信往往会被普通PC禁用。

    这就是为什么您经常会发现使用HTTP和/或SSL作为传输媒介的人,因为他们绕过了这些类型的安全问题。您可以执行推送内容(使用长期连接,也称为Comet技术),因此通常没有真正的技术理由不这样做。

    但如果在不了解您的申请和任何相关要求的情况下这是一个好主意,很难说出这样或那样的方法。

答案 1 :(得分:2)

代理通常在应用程序级别工作,而不是在传输级别工作。 关于Java和代理,这里是some information

答案 2 :(得分:0)

根据代理的不同,您可以做的很少。如果Proxy被设计为阻止它不直接处理的所有流量,那么你必须通过代理,以某种方式使用它,或者你必须找到一种方法来偷偷通过代理。

例如,许多应用程序都是建立在HTTP之上的,因为它通常允许通过防火墙,并且通常是代理友好的。因此,当您知道要在可能存在代理的环境中安装应用程序时,这是一种非常安全的通信方式。

在您的情况下,它取决于您的应用程序使用哪个端口,这些端口是否通常由任何现有协议的代理处理,是否使用标准(通常已知)协议或发明了自己的,等等。

此代理是透明代理吗? (也就是说,是否必须配置Web浏览器才能看到它?)它的代理类型决定了应用程序需要如何使用它。代理是否由您的组织控制?

您说您使用的是端口5018.就像实验一样,您可以尝试使用端口80吗?仅仅因为您使用端口80并不意味着您必须使用HTTP。这值得一试,看看它是否有帮助。

相关问题