如果有人试图不通过代理连接到Minecraft服务器,我试图暂时禁止ip-adress。
String st = e.getRealAddress() + "";
if(!st.startsWith("/x.x.x.x")) {
Runtime runtime = Runtime.getRuntime();
runtime.exec("iptables -A INPUT -s " + st.replace("/","") + " -j DROP");
runtime.exec("sleep 180 ; iptables -D INPUT -s " + st.replace("/","") + " -j DROP");
}
但由于某种原因只执行-A命令,在我等了三分钟之后我无法连接。我做错了什么?
答案 0 :(得分:0)
在java中分解自己的命令:iptables,wait,sleep,iptables,...
然后你必须先等待iptables才能完成:
使用waitFor:
struct ss {
char foo[];
char bar[3];
int bazSize;
char baz[];
}