我有一个 swing 应用程序,当用户单击其中的 JButton 时,它会连接到我网站中的 php 脚本以向其发送一些数据并从 PHP 脚本中检索结果。
这对使用此应用程序的 100 名用户来说效果很好,但今天一家公司的一位用户报告说他无法使用它......当他单击按钮时,应用程序挂起并且没有任何反应。
我什至使用 UncaughtExceptionHandler 来处理应用程序中的任何意外异常,但没有抛出任何异常。我认为这可能是他公司网络中的某些东西,或者使用的端口,但我不确定。任何建议为什么会发生这种情况?
这是我的代码:
String part1 = "..."; // Message part 1.
String part2 = "..."; // Message part 2.
//1. Encode the message to suite the URL path requirements :
String params = URLEncoder.encode( "part1", "UTF-8" ) + "=" + URLEncoder.encode( part1, "UTF-8" );
params += "&" + URLEncoder.encode( "part2", "UTF-8" ) + "=" + URLEncoder.encode( part2, "UTF-8" );
//2. Connect to the website page :
URL url = new URL( "http://www.website.com/page.php" );
URLConnection conn = (URLConnection) url.openConnection();
conn.setConnectTimeout( 20000 );
conn.setDoOutput( true );
conn.setDoInput( true );
conn.connect();
//3. Call the page and send the parameters to it :
OutputStreamWriter out = new OutputStreamWriter( conn.getOutputStream() );
out.write( params );
out.flush();
out.close();
//4. Get the result :
Object contents = conn.getContent();
InputStream is = (InputStream) contents;
StringBuffer buf = new StringBuffer();
int c;
while( ( c = is.read() ) != -1 ) {
buf.append( (char) c );
}