|
|
|
@ -10,6 +10,8 @@ import java.net.Socket;
|
|
|
|
import java.net.SocketTimeoutException;
|
|
|
|
import java.net.SocketTimeoutException;
|
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import static java.lang.Thread.sleep;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* sick扫码枪
|
|
|
|
* sick扫码枪
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@ -19,7 +21,7 @@ public class SickSocket {
|
|
|
|
private static final Logger tcpLogger = LoggerFactory.getLogger("sick");
|
|
|
|
private static final Logger tcpLogger = LoggerFactory.getLogger("sick");
|
|
|
|
|
|
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
public static void main(String[] args) {
|
|
|
|
String code = readOCR("192.168.5.10", 2002);
|
|
|
|
String code = readOCR("127.0.0.1", 3000,30000);
|
|
|
|
System.out.println(code);
|
|
|
|
System.out.println(code);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -30,7 +32,7 @@ public class SickSocket {
|
|
|
|
* @param port 目标服务器的端口号
|
|
|
|
* @param port 目标服务器的端口号
|
|
|
|
* @return OCR的结果
|
|
|
|
* @return OCR的结果
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public static String readOCR(String ip, int port) {
|
|
|
|
public static String readOCR(String ip, int port,int timeout) {
|
|
|
|
// 创建Socket对象
|
|
|
|
// 创建Socket对象
|
|
|
|
Socket socket = new Socket();
|
|
|
|
Socket socket = new Socket();
|
|
|
|
// 定义变量code,并赋值为"NoRead"
|
|
|
|
// 定义变量code,并赋值为"NoRead"
|
|
|
|
@ -42,8 +44,8 @@ public class SickSocket {
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
// 连接服务器,指定服务器的IP地址和端口号,并设置连接超时时间为3000毫秒
|
|
|
|
// 连接服务器,指定服务器的IP地址和端口号,并设置连接超时时间为3000毫秒
|
|
|
|
socket.connect(new InetSocketAddress(ip, port), 3000);
|
|
|
|
socket.connect(new InetSocketAddress(ip, port), timeout);
|
|
|
|
socket.setSoTimeout(3000);
|
|
|
|
socket.setSoTimeout(timeout);
|
|
|
|
// 获取socket的输出流对象
|
|
|
|
// 获取socket的输出流对象
|
|
|
|
os = socket.getOutputStream();
|
|
|
|
os = socket.getOutputStream();
|
|
|
|
// 获取socket的输入流对象
|
|
|
|
// 获取socket的输入流对象
|
|
|
|
@ -51,7 +53,8 @@ public class SickSocket {
|
|
|
|
// 定义变量i,并赋值为0
|
|
|
|
// 定义变量i,并赋值为0
|
|
|
|
int i = 0;
|
|
|
|
int i = 0;
|
|
|
|
// 当code等于"NoRead"且i小于等于4且socket未关闭时,执行以下循环
|
|
|
|
// 当code等于"NoRead"且i小于等于4且socket未关闭时,执行以下循环
|
|
|
|
while ("NoRead".equals(code) && i <= 4 && !socket.isClosed()) {
|
|
|
|
while ("NoRead".equals(code) && !socket.isClosed()) {
|
|
|
|
|
|
|
|
sleep(300);
|
|
|
|
// 调用writeCmd方法,将数据写入socket的输出流
|
|
|
|
// 调用writeCmd方法,将数据写入socket的输出流
|
|
|
|
writeCmd(os);
|
|
|
|
writeCmd(os);
|
|
|
|
// 从socket的输入流中读取数据,并赋值给code
|
|
|
|
// 从socket的输入流中读取数据,并赋值给code
|
|
|
|
|