Advertisement
dig090

Demonstration of working client/server

Jun 19th, 2012
406
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.61 KB | None | 0 0
  1. package com.j256;
  2.  
  3. import static org.junit.Assert.assertEquals;
  4.  
  5. import java.io.DataInputStream;
  6. import java.io.DataOutputStream;
  7. import java.net.InetAddress;
  8. import java.net.ServerSocket;
  9. import java.net.Socket;
  10.  
  11. import org.junit.Test;
  12.  
  13. public class Foo {
  14.  
  15.     private static String INPUT_STRING = "Test";
  16.     private static int PORT_NUMBER = 8000;
  17.  
  18.     @Test
  19.     public void test() throws Exception {
  20.         Thread server = new Thread(new Server());
  21.         server.start();
  22.         Thread.sleep(100);
  23.  
  24.         Thread client = new Thread(new Client());
  25.         client.start();
  26.         Thread.sleep(100);
  27.  
  28.         server.join();
  29.         client.join();
  30.     }
  31.  
  32.     private static class Server implements Runnable {
  33.         @Override
  34.         public void run() {
  35.             try {
  36.                 ServerSocket serverSocket = new ServerSocket(PORT_NUMBER);
  37.                 Socket socket = serverSocket.accept();
  38.  
  39.                 DataInputStream dis = new DataInputStream(socket.getInputStream());
  40.                 int arrLength = dis.readInt();
  41.  
  42.                 byte[] fromClient = new byte[arrLength];
  43.                 dis.read(fromClient, 0, fromClient.length);
  44.                 assertEquals(INPUT_STRING, new String(fromClient));
  45.                 serverSocket.close();
  46.             } catch (Exception e) {
  47.                 e.printStackTrace();
  48.             }
  49.         }
  50.     }
  51.  
  52.     private static class Client implements Runnable {
  53.         @Override
  54.         public void run() {
  55.             try {
  56.                 Socket socket = new Socket(InetAddress.getLocalHost(), PORT_NUMBER);
  57.                 DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
  58.  
  59.                 byte[] toServer = INPUT_STRING.getBytes();
  60.                 dos.writeInt(toServer.length);
  61.                 dos.write(toServer);
  62.                 socket.close();
  63.             } catch (Exception e) {
  64.                 e.printStackTrace();
  65.             }
  66.         }
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement