Advertisement
Guest User

Untitled

a guest
Jan 28th, 2017
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.71 KB | None | 0 0
  1. package edu.kit.tm.praktikum.group5.client.protocol;
  2.  
  3. import java.io.DataInputStream;
  4. import java.io.DataOutputStream;
  5. import java.io.IOException;
  6. import java.math.BigInteger;
  7. import java.net.Socket;
  8. import java.net.UnknownHostException;
  9. import java.security.SecureRandom;
  10. import java.util.concurrent.TimeUnit;
  11.  
  12. public class ServerTest {
  13.    
  14.     static Socket server = null;
  15.     static String donaldName = null;
  16.  
  17.     public static void main(String[] args) throws InterruptedException {
  18.  
  19.         try {
  20.             server = new Socket("192.168.219.129", 8001);
  21.            
  22.        
  23.            
  24.             DataOutputStream out = new DataOutputStream(server.getOutputStream());
  25.             DataInputStream in = new DataInputStream(server.getInputStream());
  26.  
  27.             GameSender gSender = new GameSender(server);
  28.             LobbySender lSender = new LobbySender(server);
  29.            
  30.             Receiver r = new Receiver();
  31.            
  32.             ConnectionManager cm = new ConnectionManager();
  33.            
  34.            
  35.             Thread manager = new Thread() {
  36.                
  37.                 @Override
  38.                 public void run() {
  39.                    
  40.                     try {
  41.                         cm.manage(server);
  42.                     } catch (IOException e) {
  43.                         // TODO Auto-generated catch block
  44.                         e.printStackTrace();
  45.                     }
  46.                 }
  47.                
  48.             };
  49.            
  50.             manager.start();
  51.            
  52.            
  53.             cm.register((GameReceiver) r);
  54.             cm.register((LobbyReceiver) r);
  55.             cm.register((ErrorReceiver) r);
  56.            
  57.            
  58.             SecureRandom random = new SecureRandom();
  59.             donaldName = new BigInteger(50, random).toString(32);
  60.            
  61.             lSender.login(donaldName);
  62.             TimeUnit.SECONDS.sleep(1);
  63.             lSender.createGame((byte) 15, new byte[] {1,2,3,4,5}, (byte) 60, null);
  64.            
  65.             lSender.chat(donaldName, "Chatnachricht");
  66.            
  67.            
  68.            
  69.            
  70.            
  71.            
  72.            
  73.             manager.join();
  74.            
  75.            
  76.  
  77.         } catch (UnknownHostException e) {
  78.             e.printStackTrace();
  79.         } catch (IOException e) {
  80.             e.printStackTrace();
  81.         } finally {
  82.             if (server != null)
  83.                 try {
  84.                     server.close();
  85.                 } catch (IOException e) {
  86.                 }
  87.         }
  88.        
  89.        
  90.     }
  91.    
  92.    
  93.     public static class Receiver implements GameReceiver, LobbyReceiver, ErrorReceiver {
  94.  
  95.         int i = 0;
  96.        
  97.        
  98.         @Override
  99.         public void onError(ErrorType errorType) {
  100.            
  101.             System.out.println(errorType);
  102.            
  103.         }
  104.  
  105.         @Override
  106.         public void onChat(String sender, String recipient, String text) {
  107.             i++;
  108.            
  109.             if (i == 2) {
  110.                 if (!text.equals("Chatnachricht")) {
  111.                     System.out.println(text);
  112.                     throw new IllegalStateException();
  113.                 }
  114.                
  115.             }
  116.            
  117.            
  118.         }
  119.  
  120.         @Override
  121.         public void onGames(GameInformation[] games) {
  122.             i++;
  123.            
  124.             if (i == 1) {
  125.                 if (games.length != 0) {
  126.                     throw new IllegalStateException();
  127.                 }
  128.             }
  129.             else {
  130.                
  131.             }
  132.              
  133.            
  134.         }
  135.  
  136.         @Override
  137.         public void onGame(GameInformation game) {
  138.             i++;
  139.            
  140.             if (i == 1) {
  141.                 byte id1 = game.getGameId1();
  142.                 byte id2 = game.getGameId2();
  143.                
  144.                 String username = game.getHostUsername();
  145.                
  146.                 byte[] numShips = game.getNumShips();
  147.                 byte roundTime = game.getRoundTime();
  148.                
  149.                 boolean password = game.isPasswordProtected();
  150.                
  151.                 if (!username.equals(donaldName)) {
  152.                     throw new IllegalStateException();
  153.                 }
  154.                
  155.                 if (numShips[0] != 1) {
  156.                     throw new IllegalStateException();
  157.                 }
  158.                 if (numShips[1] != 2) {
  159.                     throw new IllegalStateException();
  160.                 }
  161.                 if (numShips[2] != 3) {
  162.                     throw new IllegalStateException();
  163.                 }
  164.                 if (numShips[3] != 4) {
  165.                     throw new IllegalStateException();
  166.                 }
  167.                 if (numShips[4] != 5) {
  168.                     throw new IllegalStateException();
  169.                 }
  170.                
  171.                 if (roundTime != 60) {
  172.                     throw new IllegalStateException();
  173.                 }
  174.                
  175.                 if (password) {
  176.                     throw new IllegalStateException();
  177.                 }
  178.                
  179.                
  180.                
  181.                
  182.             }
  183.            
  184.            
  185.            
  186.         }
  187.  
  188.         @Override
  189.         public void onDeleteGame(byte gameId1, byte gameId2) {
  190.             // TODO Auto-generated method stub
  191.            
  192.         }
  193.  
  194.         @Override
  195.         public void onStartGame(byte boardSize, byte[] numShips, byte roundTime, String opponentName) {
  196.             // TODO Auto-generated method stub
  197.            
  198.         }
  199.  
  200.         @Override
  201.         public void onPlaced() {
  202.             // TODO Auto-generated method stub
  203.            
  204.         }
  205.  
  206.         @Override
  207.         public void onYouStart() {
  208.             // TODO Auto-generated method stub
  209.            
  210.         }
  211.  
  212.         @Override
  213.         public void onWait() {
  214.             // TODO Auto-generated method stub
  215.            
  216.         }
  217.  
  218.         @Override
  219.         public void onHit(boolean isSunken, byte x, byte y) {
  220.             // TODO Auto-generated method stub
  221.            
  222.         }
  223.  
  224.         @Override
  225.         public void onFail(byte x, byte y) {
  226.             // TODO Auto-generated method stub
  227.            
  228.         }
  229.  
  230.         @Override
  231.         public void onMoved(byte[][] positions) {
  232.             // TODO Auto-generated method stub
  233.            
  234.         }
  235.  
  236.         @Override
  237.         public void onTimeout() {
  238.             // TODO Auto-generated method stub
  239.            
  240.         }
  241.  
  242.         @Override
  243.         public void onEndgame(Reason reason) {
  244.             // TODO Auto-generated method stub
  245.            
  246.         }
  247.        
  248.        
  249.     }
  250.  
  251. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement