使用可以转发IP的proxy,client连接到代理,代理连接到appserver.

解决方案 »

  1.   

    换一个能自动转发IP包的代理,如IPtables,这种代理不会出现Socket问题。
      

  2.   

    你看看这个有没有用在 Java 中代理服务器的基本设置是通过设置系统属性来完成的。而代理服务器的验证则是通过设置 Http 请求头来完成的。 
    下面的是一个简单的例子供大家参考: // 根据地址 url 打开 Http 连接 
    HttpURLConnection con = (HttpURLConnection)( new URL( url ) ).openConnection(); 
    if (proxy.hasProxy()) { 
    // 注意: 如果 proxySet 为 false 时,依然设置了 proxyHost 和 proxyPort,代理设置仍会起作用。 
    // 如果 proxyPort 设置有问题,代理设置不会起作用。 
    System.getProperties().put( "proxySet", "true" ); 
    System.getProperties().put( "proxyHost", proxy.getProxyHost() ); 
    System.getProperties().put( "proxyPort", String.valueOf( proxy.getProxyPort() ) ); // 如果需要代理服务器验证,在 Http 请求头中加入 Proxy-Authorization 头, 
    // 格式为: "Basic " + ("代理服务器用户名:密码"的 BASE64 编码) 
    if (proxy.needAuth()) { 
    con.setRequestProperty( "Proxy-Authorization", "Basic " + Encoder.base64Encode( proxy.getProxyUser() + ":" + proxy.getProxyPass() ) ); 

    }  
      

  3.   

    arosmith(青鸟) :
       PROXY对象是怎么创建的?CoolAbu(绿茶的白开水(★★★★)) :
       这是嵌入在网页的呀,总不至于要求所有访问此网页的用户都要用这种代理把?
      

  4.   

    如果在IE中配置了代理,运行APPLET就不需要管他,否则你要自己设置代理信息
      

  5.   

    看一下这个
    http://www-900.ibm.com/developerWorks/cn/java/jw-tips/tip042/index.shtml
      

  6.   

    我的问题是:页面中的APPLET创建SOCKET时,其代理的IP和PORT 都无法确定呀;
    因为只要通过INTERNET的用户就可访问,各种用户的代理都会不同吧有没有办法在APPLET代码中读出本地浏览器中所用的代理的IP和PORT ?