package com.product.device.data.gather.service; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import com.product.core.dao.BaseDao; import com.product.core.spring.context.SpringBeanUtil; import com.product.core.spring.context.SpringMVCContextHolder; import com.product.device.config.DeviceConst; public class DeviceDataThread extends Thread { //服务器状态 public static boolean serverStatus=false; @Override public void run() { start(); } public void start() { ServerSocket serverSocket = null; try { // 建立一个服务器Socket(ServerSocket)指定端口并开始监听 serverSocket = new ServerSocket(DeviceConst.DEVICE_DATA_SOCKET_PORT); serverStatus=true; SpringMVCContextHolder.getSystemLogger().info("=====建立数据接收服务,端口"+DeviceConst.DEVICE_DATA_SOCKET_PORT); // 监听一直进行中 while (true) { // 使用accept()方法等待客户发起通信 Socket socket = serverSocket.accept(); DeviceDataProcessThread thread = new DeviceDataProcessThread(socket,SpringBeanUtil.getBean(BaseDao.class)); thread.start(); } } catch (IOException e) { serverStatus=false; e.printStackTrace(); } } }