作者GGsov (GGsov)
看板java
标题[问题] applet的问题
时间Tue Dec 16 15:51:20 2008
import java.applet.Applet;
import javax.swing.JApplet;
import java.io.*;
public class test extends Applet{
static int IPindex= -1;
public void init()
{
try {
String cmd = "netstat -n";
//字串 windows的指令
StringBuilder mystring=new StringBuilder();
Process child = Runtime.getRuntime().exec(cmd);
// 获得输出
InputStream child_in = child.getInputStream();
int c;
while ((c = child_in.read()) != -1){
mystring=mystring.append((char)c);
//把结果读进mystring这个字串
}
IPindex= mystring.indexOf("140.116.250.3");
//若有该字串 则回传非-1 若无则回传-1
test();
child_in.close();
}catch (IOException e) {
System.err.println(e);
}
}
public void start(){
}
public static Integer test(){
return IPindex;
}
}
当使用者同意网页内容後他会弹出个视窗来告诉使用者是否有连线到该IP
但是有个bug 他显示的是上一次的连线情形
所以在连线与否转换时就会出现错误
也就是说现在是连线状况 然後我先把连线关掉 再去重新整理网页 他会显示"连线"
在重新整理一次又变回未连线了
Applet会按照顺序来执行init(),start(),stop(),destroy()
我把整段code放在init跟start下都是同样的结果
call test这个函式仅是要让他有return的动作
网页部分<applet>..</applet> 写在<script>...</script> 之前
两个都是写在<head>...</head>
不晓得是哪边逻辑有错误导致这种bug产生
感谢您的指教
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.174.33.58
1F:推 PsMonkey:为甚麽要 static 12/16 15:58
2F:→ GGsov:一针见血......... 12/16 16:08
3F:→ GGsov:本来static是为了符合main 後来改掉後没想到会是这个有问题 12/16 16:10
4F:→ GGsov:一直以为是执行顺序的关系 没想到是这个问题 很抱歉又占版面 12/16 16:12