我有一个java类需要更新Java Servlet中的一些数据。 当我在家庭网络中使用IP或者即使我正在使用我的IP时,它工作正常 ISP ip(从路由器转发)。
但现在,当我想用实际的动态DNS更新servlet时 和我的ISP一样,它不起作用。
奇怪的是我可以使用动态DNS从servlet获取数据。
这是我的代码:(我只是盯着ip和DDNS地址) 注意:动态DNS(在代码中:http://example.zapto.org)与stared ip相同(在代码中:http://xx.xxx.xxx.xxx:8084)。使用IP时,它不会使用DDNS。
public class SendGsonToServlet {
public static boolean sendGson (String qrCode){
try {
String jsonStr = new Gson().toJson(qrCode);
// URL servletURL = new URL("http://example.zapto.org/Android_Server/data");
URL servletURL = new URL("http://xx.xxx.xxx.xxx:8084/Android_Server/data");
// URL servletURL = new URL("http://192.168.1.108:8084/Android_Server/data");
// assumes protocol is http, could be https
HttpURLConnection conn = (HttpURLConnection)servletURL.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
PrintWriter out = new PrintWriter(conn.getOutputStream());
out.println(jsonStr);
// out.flush();
out.close();
System.out.println(conn.getResponseCode());
}catch (Exception e) {
}
return true;
}
}
谢谢大家和节日快乐:)
答案 0 :(得分:0)
如果ping为您提供了另一个IP地址,并且如果使用此IP地址您的测试失败,则可能: