|
@@ -1,10 +1,13 @@
|
|
|
package com.huimv.eartag.monitor.socket;
|
|
|
|
|
|
|
|
|
+import com.huimv.eartag.monitor.service.IClientDataPacketService;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.io.*;
|
|
|
import java.net.Socket;
|
|
|
+import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.Date;
|
|
|
|
|
@@ -12,6 +15,8 @@ import java.util.Date;
|
|
|
public class ServerThread extends Thread {
|
|
|
|
|
|
private Socket socket;
|
|
|
+ @Autowired
|
|
|
+ private IClientDataPacketService iClientDataPacketService;
|
|
|
|
|
|
public ServerThread(Socket socket) {
|
|
|
this.socket = socket;
|
|
@@ -34,42 +39,44 @@ public class ServerThread extends Thread {
|
|
|
inputStream = socket.getInputStream();
|
|
|
byte[] b = new byte[1024];
|
|
|
inputStream.read(b);
|
|
|
- String line = new String(b);
|
|
|
+ String packet = new String(b);
|
|
|
|
|
|
- int i = line.indexOf("+", line.indexOf("+") + 1);
|
|
|
- int ver = Integer.parseInt(line.substring(i + 1, i + 2));
|
|
|
+ int i = packet.indexOf("+", packet.indexOf("+") + 1);
|
|
|
+ int ver = Integer.parseInt(packet.substring(i + 1, i + 2));
|
|
|
outputStream = socket.getOutputStream();
|
|
|
|
|
|
-
|
|
|
- //首次应答返回机器ID
|
|
|
- if (ver == 1){
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if (ver == 2) {
|
|
|
- SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
- String time = "hm+2+" + sdf.format(new Date()) + "+4+end";
|
|
|
- outputStream.write(time.getBytes());
|
|
|
- }
|
|
|
- if (ver == 6) {
|
|
|
- outputStream.write("hm+6+0+6+end".getBytes());
|
|
|
- }
|
|
|
- if (ver == 3) {
|
|
|
- outputStream.write("hm+3+0+6+end".getBytes());
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if (ver == 4) {
|
|
|
- outputStream.write("hm+4+0+7+end".getBytes());
|
|
|
-
|
|
|
- }
|
|
|
- if (ver == 8) {
|
|
|
- outputStream.write("hm+5+0+8+end".getBytes());
|
|
|
- }
|
|
|
+ // 处理数据包
|
|
|
+ iClientDataPacketService.handleClientSendPacket(packet);
|
|
|
+
|
|
|
+// //首次应答返回机器ID
|
|
|
+// if (ver == 1){
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+// if (ver == 2) {
|
|
|
+// SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
+// String time = "hm+2+" + sdf.format(new Date()) + "+4+end";
|
|
|
+// outputStream.write(time.getBytes());
|
|
|
+// }
|
|
|
+// if (ver == 6) {
|
|
|
+// outputStream.write("hm+6+0+6+end".getBytes());
|
|
|
+// }
|
|
|
+// if (ver == 3) {
|
|
|
+// outputStream.write("hm+3+0+6+end".getBytes());
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+// if (ver == 4) {
|
|
|
+// outputStream.write("hm+4+0+7+end".getBytes());
|
|
|
+//
|
|
|
+// }
|
|
|
+// if (ver == 8) {
|
|
|
+// outputStream.write("hm+5+0+8+end".getBytes());
|
|
|
+// }
|
|
|
|
|
|
socket.shutdownInput();
|
|
|
|
|
|
- } catch (IOException e) {
|
|
|
+ } catch (IOException | ParseException e) {
|
|
|
e.printStackTrace();
|
|
|
} finally {
|
|
|
// 关闭资源
|