import java.net.*; import java.util.*; import java.io.*; //public class Network implements Runnable{ public class Network extends Thread { Global global; Thread thread; long networktime=0; public Network(Global glbl){ global=glbl; System.out.println("initializing network class in constructor!"); } public void run(){ String s; String send=""; boolean ok=true; String result=""; String part1="";; String part2=""; String part3=""; String token; while(ok){ try{ if(global.isnetwork){ //System.out.println("run in network!"); Date d=new Date(); if(networktime+10000 > d.getTime())global.NETWORKSLEEP*=2; send=""; // All the moves to the server while(!global.WriteStack.isEmpty()){ s=global.WriteStack.pop(); //System.out.println("WRITE STACK: (network) ["+s+"] "); send+=s; } // while writestack // // SINGLE STEP/ACTION // //send=global.WriteStack.pop(); // store it on the database //System.out.println("Before store.php"); result=global.execute("store.php?laststack="+global.laststack+"&usernr="+global.usernr+"&data="+send+"&room="+global.room+"&level="+global.level+"&team="+global.team+"&turn="+global.turn+"¬multi="+(global.teamplay?2:1)+"&width="+global.WIDTH+"&height="+global.HEIGHT); //System.out.println("After store.php"); // // React on result if(result.length() > 1){ //System.out.println( "STORE Result: "+result); StringTokenizer st=new StringTokenizer(result, ""+(char)18 ); while(st.hasMoreTokens()){ token=st.nextToken(); //System.out.println("Token: "+token); try{ StringTokenizer sn=new StringTokenizer(token, ""+(char)17); if(sn.hasMoreTokens()){ part1=sn.nextToken(); part2=sn.nextToken(); part3=sn.nextToken(); } //while }catch(Exception egge){ // No Such element probably } if(part1.indexOf("-10") == 0){ if(part2.length() > 0){ global.show.chat.add(part2); if(global.NETWORKSLEEP>10000){ global.NETWORKSLEEP/=2; d=new Date(); networktime=d.getTime(); } global.show.chat.select(global.show.chat.getItemCount()-1); } } if(part1.indexOf("-20") == 0){ //heart-beat global.laststack=Integer.parseInt(part2); } if(part1.indexOf("-40") == 0){ // global.onturn=Integer.parseInt(part2); if(Integer.parseInt(part2) == global.room){ if(global.turn < 4) global.turn++; else global.turn=0; }else global.turn=0; //System.out.println("Room is: "+global.room+" room on turn="+part2+" global.tunr="+global.turn); } if(part1.indexOf("-50") == 0){ //System.out.println("ROOM FOR "+global.usernr+" WAS NOT THE SAME ... -> info: "+part2+":"+part3); } } // moretokens } // if result length try{ this.sleep(global.NETWORKSLEEP); }catch(Exception e){} } // if global network .. is there network needed? }catch(Exception oo){ // Every other exception ... System.out.println("Exception in Network run: "+oo.toString()); } } // ok } /* */ }