Advertisement
xeritt

TCP Server

Aug 25th, 2018
170
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.net.Socket;
  2. import java.net.ServerSocket;
  3. import java.io.DataInputStream;
  4. import java.io.BufferedReader;
  5. import java.io.InputStreamReader;
  6.  
  7. public class Server {
  8.     public static void main(String[] args) {
  9.         try    {
  10.             System.out.println("Server is running");
  11.             int port = 3333;
  12.             if (args.length > 0) {
  13.                 port  = new Integer(args[0]);
  14.             }
  15.             // создание серверного сокета
  16.             ServerSocket ss = new ServerSocket(port);
  17.             // Ждет клиентов и для каждого создает отдельный поток
  18.             while (true)         {
  19.                 Socket s = ss.accept();
  20.                 ServerConnectionProcessor p =
  21.                     new ServerConnectionProcessor(s);
  22.                 p.start();
  23.             }
  24.         }
  25.         catch(Exception e)    {
  26.             System.out.println(e);
  27.         }
  28.     }
  29. }
  30.  
  31. class ServerConnectionProcessor extends Thread {
  32.     private Socket sock;
  33.     public ServerConnectionProcessor(Socket s)     {
  34.         sock = s;
  35.     }
  36.     public void run()    {
  37.         try        {
  38.             // Получает запрос
  39.             DataInputStream inStream = new DataInputStream(
  40.                 sock.getInputStream());
  41.             BufferedReader d = new BufferedReader(new InputStreamReader(inStream));
  42.             String str = d.readLine();
  43.             System.out.println(str);
  44.  
  45.             /*int arg1 = inStream.readInt();
  46.             int arg2 = inStream.readInt();
  47.             // Выполняет расчет
  48.             int result = 0;
  49.             if (operationId == 0)            {
  50.                 result = arg1 + arg2;
  51.             }
  52.             else if (operationId == 1)     {
  53.                 result = arg1 * arg2;
  54.             }
  55.             // Отправляет ответ
  56.             DataOutputStream outStream = new DataOutputStream(
  57.                 sock.getOutputStream());
  58.             outStream.writeInt(result);
  59.             // Подождем немного и завершим поток
  60.             */
  61.  
  62.             sleep(1000);
  63.             inStream.close();
  64.             //outStream.close();
  65.             sock.close();
  66.         }
  67.         catch(Exception e)    {
  68.             System.out.println(e);
  69.         }
  70.     }
  71. }
Advertisement
RAW Paste Data Copied
Advertisement