瀏覽代碼

setup maven for compilation

enzo 19 小時之前
父節點
當前提交
da0d5d20b7

+ 0 - 8
Main.java

@@ -1,8 +0,0 @@
-public class Main {
-    public static void main(String[] args) {
-        System.out.println("Hello, Java in VS Code!");
-
-        // Call the TCP client
-        TCPClient.startClient();
-    }
-}

+ 0 - 24
TCPClient.java

@@ -1,24 +0,0 @@
-import java.io.*;
-import java.net.*;
-
-public class TCPClient {
-    public static void startClient() {
-        String serverAddress = "127.0.0.1"; // Make sure this matches your TypeScript server
-        int port = 12345;
-
-        try (Socket socket = new Socket(serverAddress, port);
-             BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
-             PrintWriter writer = new PrintWriter(socket.getOutputStream(), true)) {
-
-            // Send a message to the TypeScript server
-            writer.println("Hello, Server from Java!");
-
-            // Receive response from the TypeScript server
-            String response = reader.readLine();
-            System.out.println("Server says: " + response);
-
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-}

+ 24 - 0
pom.xml

@@ -0,0 +1,24 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+                             http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>com.example</groupId>
+  <artifactId>tcp-nest-bridge</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <properties>
+    <!-- Specify the Java version Maven should use for compiling -->
+    <maven.compiler.source>21</maven.compiler.source>
+    <maven.compiler.target>21</maven.compiler.target>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.json</groupId>
+      <artifactId>json</artifactId>
+      <version>20231013</version>
+    </dependency>
+  </dependencies>
+</project>

+ 58 - 0
src/main/java/com/example/ClientHandler.java

@@ -0,0 +1,58 @@
+package com.example;
+
+import java.io.*;
+import java.net.Socket;
+import org.json.JSONObject;
+
+public class ClientHandler implements Runnable {
+    private final Socket socket;
+
+    public ClientHandler(Socket socket) {
+        this.socket = socket;
+    }
+
+    @Override
+    public void run() {
+        try (
+            BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
+            PrintWriter out = new PrintWriter(socket.getOutputStream(), true)
+        ) {
+            String rawMessage;
+            while ((rawMessage = in.readLine()) != null) {
+                System.out.println("Received: " + rawMessage);
+
+                String response = handleEvent(rawMessage);
+                out.println(response);
+            }
+        } catch (IOException e) {
+            System.err.println("Client handler error: " + e.getMessage());
+        }
+    }
+
+    private String handleEvent(String rawMessage) {
+        try {
+            JSONObject json = new JSONObject(rawMessage);
+            String pattern = json.getString("pattern");
+            String data = json.optString("data", "");
+
+            return switch (pattern) {
+                case "eventTest" -> handleEventTest(data);
+                case "matchFingerprint" -> handleMatchFingerprint(data);
+                default -> "Unknown pattern: " + pattern;
+            };
+        } catch (Exception e) {
+            return "Invalid message format: " + e.getMessage();
+        }
+    }
+
+    private String handleEventTest(String message) {
+        System.out.println("Hello there. Just responding to EventPattern.");
+        System.out.println("Message: " + message);
+        return "eventTest acknowledged";
+    }
+
+    private String handleMatchFingerprint(String data) {
+        System.out.println("Received fingerprint match request (not implemented).");
+        return "matchFingerprint handler stub";
+    }
+}

+ 9 - 0
src/main/java/com/example/Main.java

@@ -0,0 +1,9 @@
+package com.example;
+
+public class Main {
+    public static void main(String[] args) {
+        int port = 5000;
+        TCPServer.startServer(port);
+        TCPClient.startClient("0.0.0.0", 3003);
+    }
+}

+ 38 - 0
src/main/java/com/example/TCPClient.java

@@ -0,0 +1,38 @@
+package com.example;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.net.Socket;
+
+public class TCPClient {
+
+    // Separate method for starting the client
+    public static void startClient(String serverAddress, int port) {
+        try {
+            // Create a socket to connect to the server
+            Socket socket = new Socket(serverAddress, port);
+            System.out.println("Connected to server at " + serverAddress + ":" + port);
+
+            // Create input and output streams to send/receive data
+            BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
+            PrintWriter output = new PrintWriter(socket.getOutputStream(), true);
+
+            // Send a message to the server
+            String message = "Hello, Server!";
+            output.println(message);
+            System.out.println("Sent to server: " + message);
+
+            // Receive a response from the server
+            String response = input.readLine();
+            System.out.println("Received from server: " + response);
+
+            // Close the connection
+            socket.close();
+            System.out.println("Connection closed.");
+        } catch (IOException e) {
+            System.err.println("Client error: " + e.getMessage());
+        }
+    }
+}

+ 22 - 0
src/main/java/com/example/TCPServer.java

@@ -0,0 +1,22 @@
+package com.example;
+
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.net.Socket;
+
+public class TCPServer {
+    public static void startServer(int port) {
+        try (ServerSocket serverSocket = new ServerSocket(port)) {
+            System.out.println("TCP Server started on port " + port);
+
+            while (true) {
+                Socket clientSocket = serverSocket.accept();
+                System.out.println("New client connected: " + clientSocket.getInetAddress());
+
+                new Thread(new ClientHandler(clientSocket)).start();
+            }
+        } catch (IOException e) {
+            System.err.println("Server error: " + e.getMessage());
+        }
+    }
+}

+ 4 - 0
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -0,0 +1,4 @@
+com\example\TCPServer.class
+com\example\Main.class
+com\example\ClientHandler.class
+com\example\TCPClient.class

+ 4 - 0
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -0,0 +1,4 @@
+E:\Task\Fingerprint\FingerprintVerificationJava\src\main\java\com\example\ClientHandler.java
+E:\Task\Fingerprint\FingerprintVerificationJava\src\main\java\com\example\Main.java
+E:\Task\Fingerprint\FingerprintVerificationJava\src\main\java\com\example\TCPClient.java
+E:\Task\Fingerprint\FingerprintVerificationJava\src\main\java\com\example\TCPServer.java