簡體   English   中英

從Nodejs到Java文件的消息傳遞引發錯誤:連接ECONNREFUSED

[英]messaging from Nodejs to Java file throws Error: connect ECONNREFUSED

server.js
var net = require('net');
var client = net.connect(5151, 'localhost', function() {
  console.log("Hello from NodeJs");
});
client.on('error', function(ex) {
  console.log("handled error");
  console.log(ex);
});

test.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class nodeListeners {

    public static void main(String[] args) {
        ServerSocket server;
        Socket client;
        InputStream input;

        try {
            server = new ServerSocket(5151);
            client = server.accept();

            input = client.getInputStream();
            String inputString = nodeListeners.inputStreamAsString(input);

            System.out.println(inputString);

            client.close();
            server.close();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static String inputStreamAsString(InputStream stream) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(stream));
        StringBuilder sb = new StringBuilder();
        String line = null;

        while ((line = br.readLine()) != null) {
            sb.append(line + "\n");
        }

        br.close();
        return sb.toString();
    }

}

我正在這個類似的應用程序Node-> Java上使用錯誤消息從套接字數據從node.js發送到Java ,我看到我的連接被拒絕,因為Java端的端口未打開。 如何在Java端打開端​​口5151?

請嘗試使用其他端口,例如1010。它在5151上對我有用。請嘗試設置斷點並調試Java服務器端。 理想情況下,也應該在while循環中在服務器端接受,因為在當前實現中,您將只能應答一個連接。

你可以做

netstat -abno

檢查端口是否正在監聽

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM