<dependencies> <dependency> <groupId>com.github.jnr</groupId> <artifactId>jnr-unixsocket</artifactId> <version>0.21</version> </dependency> </dependencies> import jnr.unixsocket.UnixServerSocket; import jnr.unixsocket.UnixSocket; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class UnixSocketServer implements Runnable { private final String socketFile; public UnixSocketServer(String socketFile) { this.socketFile = socketFile; } @Override public void run() { try { UnixServerSocket serverSocket = new UnixServerSocket(socketFile); while (true) { UnixSocket clientSocket = serverSocket.accept(); new Thread(() -> { try { BufferedReader reader = new BufferedReader( new InputStreamReader(clientSocket.getInputStream())); String message = reader.readLine(); System.out.println("Received message: " + message); clientSocket.getOutputStream().write("Server response".getBytes()); clientSocket.getOutputStream().flush(); clientSocket.close(); } catch (IOException e) { e.printStackTrace(); } }).start(); } } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { UnixSocketServer server = new UnixSocketServer("/path/to/socketfile"); new Thread(server).start(); } } import jnr.unixsocket.UnixSocket; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class UnixSocketClient { private final String socketFile; public UnixSocketClient(String socketFile) { this.socketFile = socketFile; } public void sendMessage(String message) { try { UnixSocket socket = new UnixSocket(socketFile); socket.getOutputStream().write(message.getBytes()); socket.getOutputStream().flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(socket.getInputStream())); String response = reader.readLine(); System.out.println("Server response: " + response); socket.close(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { UnixSocketClient client = new UnixSocketClient("/path/to/socketfile"); client.sendMessage("Hello from client"); } }


上一篇:
下一篇:
切换中文