Server.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package com.huimv.datacollection.tcp;
  2. import com.huimv.datacollection.service.IClientDataPacketService;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.boot.CommandLineRunner;
  5. import org.springframework.stereotype.Component;
  6. import java.io.IOException;
  7. import java.net.ServerSocket;
  8. import java.net.Socket;
  9. /**
  10. * @author yinhao
  11. * @version 1.0
  12. * @date 2021/07/08 13:40
  13. */
  14. @Component
  15. public class Server implements CommandLineRunner {
  16. @Autowired
  17. private IClientDataPacketService iClientDataPacketService;
  18. @Override
  19. public void run(String... args) throws Exception {
  20. try {
  21. // 初始化服务端socket连接, 并监听8888端口的socket请求
  22. ServerSocket serverSocket = new ServerSocket(8888);
  23. System.out.println("****** I am Server, now begin to wait the client ******");
  24. int count = 0;
  25. // 处理socket请求
  26. Socket socket;
  27. while (true) {
  28. socket = serverSocket.accept();
  29. ServerThread serverThread = new ServerThread(socket, iClientDataPacketService);
  30. System.out.println("client host address is: " + socket.getInetAddress().getHostAddress());
  31. serverThread.start();
  32. count++;
  33. System.out.println("now client count is: " + count);
  34. }
  35. } catch (IOException e) {
  36. e.printStackTrace();
  37. }
  38. }
  39. }