Advertisement
aroblu94

udp_client

Mar 1st, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.55 KB | None | 0 0
  1. import java.io.*;
  2. import java.net.*;
  3.  
  4. public class client {
  5.     public static void main(String[] args) {
  6.         int MAX = 1;
  7.         DatagramSocket s;
  8.         BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  9.         InetAddress srv_addr;
  10.         DatagramPacket tosend;
  11.         DatagramPacket pkt;
  12.         byte[] buffer;
  13.         char serverMove;
  14.         char move;
  15.         int res = 0;
  16.         int exit = 0;
  17.  
  18.         try {
  19.             s = new DatagramSocket();
  20.             srv_addr = InetAddress.getByName("localhost");
  21.             tosend = new DatagramPacket("p".getBytes(),1,srv_addr,12345);
  22.             s.send(tosend);
  23.  
  24.             buffer = new byte[MAX];
  25.             pkt = new DatagramPacket(buffer,1);
  26.             s.receive(pkt);
  27.             serverMove = (new String(pkt.getData())).charAt(0);
  28.  
  29.             System.out.println(" > " + serverMove);
  30.             if(serverMove == 'k') {
  31.                 System.out.println("Let's play.");
  32.  
  33.                 while(exit == 0) {
  34.                     move = (in.readLine()).charAt(0);
  35.                     switch(move) {
  36.                         case '.':
  37.                             if(res>=0) {
  38.                                 tosend = new DatagramPacket("y".getBytes(),1,srv_addr,12345);
  39.                                 System.out.println("You lose! :(");
  40.                             }
  41.                             else {
  42.                                 tosend = new DatagramPacket("i".getBytes(),1,srv_addr,12345);
  43.                                 System.out.println("You win! :)");
  44.                             }
  45.                             s.send(tosend);
  46.                             s.receive(pkt);
  47.                             serverMove = (new String(pkt.getData())).charAt(0);
  48.                             System.out.println(" > " + serverMove);
  49.                             exit = 1;
  50.                             break;
  51.                        
  52.                         case 'f':
  53.                             tosend = new DatagramPacket((move + "").getBytes(),1,srv_addr,12345);
  54.                             s.send(tosend);
  55.  
  56.                             s.receive(pkt);
  57.                             serverMove = (new String(pkt.getData())).charAt(0);
  58.                             System.out.println(" > " + serverMove);
  59.                             if(serverMove == 's')
  60.                                 res++;
  61.                             else if(serverMove == 'c')
  62.                                 res--;
  63.                             break;
  64.  
  65.                         case 's':
  66.                             tosend = new DatagramPacket((move + "").getBytes(),1,srv_addr,12345);
  67.                             s.send(tosend);
  68.  
  69.                             s.receive(pkt);
  70.                             serverMove = (new String(pkt.getData())).charAt(0);
  71.                             System.out.println(" > " + serverMove);
  72.                             if(serverMove == 'f')
  73.                                 res--;
  74.                             else if(serverMove == 'c')
  75.                                 res++;
  76.                             break;
  77.                        
  78.                         case 'c':
  79.                             tosend = new DatagramPacket((move + "").getBytes(),1,srv_addr,12345);
  80.                             s.send(tosend);
  81.  
  82.                             s.receive(pkt);
  83.                             serverMove = (new String(pkt.getData())).charAt(0);
  84.                             System.out.println(" > " + serverMove);
  85.                             if(serverMove == 'f')
  86.                                 res++;
  87.                             else if(serverMove == 's')
  88.                                 res--;
  89.                             break;
  90.                     }
  91.                 }
  92.             }
  93.             s.close();
  94.         }
  95.         catch(Exception e) {
  96.             e.printStackTrace();
  97.         }
  98.     }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement