我意识到,由于UNIX套接字是特定于平台的,因此必须涉及一些非Java代码.具体来说,我们感兴趣的是使用JDBC连接到只启用了UNIX域套接字的MySQL实例.
它看起来不像是支持的,但是根据我的阅读,如果我们能够找到适合Java的UNIX套接字的适当实现,那么至少应该可以为基于UNIX套接字的JDBC编写SocketFactory .
有没人试过这个?有谁知道这样的实现?
我正在尝试使用Java中的套接字和对象流来进行本地IPC但是我看到性能不佳.
我正在测试通过ObjectOutputStream发送对象的ping时间,以通过Socket上的ObjectInputStream接收回复.
这是请求者:
public SocketTest(){
int iterations = 100;
try {
Socket socket = new Socket("localhost", 1212);
ObjectInputStream objectInputStream = new ObjectInputStream(socket.getInputStream());
ObjectOutputStream objectOutputStream = new ObjectOutputStream(socket.getOutputStream());
double start = System.currentTimeMillis();
for (int i = 0; i < iterations; ++i) {
Request request = new Request();
objectOutputStream.writeObject(request);
Response response = (Response)objectInputStream.readObject();
}
double finish = System.currentTimeMillis();
System.out.println("Per ping: " + (finish - start) / iterations );
} catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
这是响应者:
public ServerSocketTest(){
try {
ServerSocket …Run Code Online (Sandbox Code Playgroud) java sockets performance objectoutputstream objectinputstream