1
2
3
4
5
6
7 package org.sourceforge.jvb3d;
8
9 import java.awt.GraphicsConfiguration;
10 import java.io.BufferedReader;
11 import java.io.InputStreamReader;
12
13 import javax.media.j3d.Canvas3D;
14
15 import org.sourceforge.jvb3d.Model.IModelNetwork;
16 import org.sourceforge.jvb3d.Model.Model;
17 import org.sourceforge.jvb3d.Network.NetworkServerFacade;
18 import org.sourceforge.jvb3d.Network.NetworkServerFacadeHolder;
19 import org.sourceforge.jvb3d.Network.ServerFacade;
20
21 import com.sun.j3d.utils.universe.SimpleUniverse;
22
23 /***
24 * @author Develop
25 *
26 * TODO To change the template for this generated type comment go to Window -
27 * Preferences - Java - Code Style - Code Templates
28 */
29 public class ConsoleServer {
30 static NetworkServerFacade networkFacade;
31
32 static IModelNetwork modelInterface;
33
34 static boolean terminate = false;
35
36 public static void main(String[] args) {
37 GraphicsConfiguration config = SimpleUniverse
38 .getPreferredConfiguration();
39
40 Canvas3D canvas3D = new Canvas3D(config);
41 modelInterface = new Model(canvas3D,true);
42 NetworkServerFacadeHolder.setNetworkFacade(new ServerFacade());
43 networkFacade = NetworkServerFacadeHolder.getNetworkFacade();
44 networkFacade.setModelInterface(modelInterface);
45
46 BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
47
48 try {
49 networkFacade.start(4000);
50 while(!terminate) {
51 String command = in.readLine();
52 if(command.equalsIgnoreCase("quit")) terminate = true;
53 else if(command.equalsIgnoreCase("updateall")) {
54 System.out.println("sending all updates");
55 networkFacade.sendAllUpdate();
56 }
57 else if(command.startsWith("update ")) {
58 int pos = command.indexOf(" ");
59 System.out.println("sending update for: "+command.substring(pos+1));
60 networkFacade.sendUpdate(command.substring(pos+1));
61 }
62 }
63 }
64 catch (Exception e) {
65 e.printStackTrace();
66 }
67 }
68 }