package com.zy.core.thread; import HslCommunication.Core.Types.OperateResult; import HslCommunication.Enthernet.SimplifyNet.NetSimplifyClient; import com.zy.core.Slave; import com.zy.core.ThreadHandler; import lombok.Data; import lombok.extern.slf4j.Slf4j; /** * 条码扫描仪线程 * Created by vincent on 2020/8/4 */ @Data @Slf4j public class BarcodeThread implements Runnable, ThreadHandler { private Slave slave; private String barcode; private NetSimplifyClient netSimplifyClient; public BarcodeThread(Slave slave) { this.slave = slave; connect(); } @Override @SuppressWarnings("InfiniteLoopStatement") public void run() { while (true) { try { // Task task = MessageQueue.poll(SlaveType.Barcode, slave.getId()); barcode = "10001136"; Thread.sleep(3000); } catch (Exception e) { e.printStackTrace(); } } } @Override public boolean connect() { boolean result = false; netSimplifyClient = new NetSimplifyClient(slave.getIp(), slave.getPort()); OperateResult connect = netSimplifyClient.ConnectServer(); if (connect.IsSuccess) { result = true; log.info("条码扫描仪连接成功 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); } else { log.info("条码扫描仪连接失败!!! ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); } return result; } @Override public void close() { } public static void main(String[] args) { BarcodeThread barcodeThread = new BarcodeThread(); boolean connect = barcodeThread.connect(); System.out.println(connect); } }