Java客户端通过套接字从NodeJS服务器接收消息

时间:2020-08-23 17:34:23

标签: java node.js sockets

因此,基本上,我正在尝试在Java客户端和NodeJS服务器之间进行通信。 Java通过套接字发送消息,Node使用事件侦听器接收消息,然后Node尝试向Java发送响应。因为收到了消息,所以类似“确定”。

Java(在Main.java中)

try {
        Socket s = new Socket("localhost", 6666);

        // Send a message to the server
        OutputStreamWriter out = new OutputStreamWriter(s.getOutputStream(), StandardCharsets.UTF_8);
        out.write("test");
        out.flush();

        // Receive a message from the server
        InputStream input = s.getInputStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(input));
        String line = reader.readLine();
        System.out.println(line);

    } catch (Exception e) {
        System.out.println(e);

}

NodeJS

var net = require('net');

var server = net.createServer(function (connection) {

    console.log("Client connected");

    connection.on('data', function (data) {
        console.log('Request from', connection.remoteAddress, 'port', connection.remotePort);
        console.log(data.toString())
        connection.write("OK");
    });
})

server.listen(6666, () => console.log(`Server is listening...`));

服务器显示:

Server is listening...
Client connected
Request from ::ffff:127.0.0.1 port 65025
test

但是客户端是空的,它没有得到服务器的响应。

我无法弄清楚问题出在哪里。我发现了无数双向套接字通信的示例,但是大多数示例都是在为Java / NodeJS编写的客户端/服务器之间。他们的代码与我编写的代码仍然相似,但是不起作用。非常感谢!

0 个答案:

没有答案