java - 使用套接字将数据从 node.js 发送到 Java

标签 java javascript sockets node.js

我正在尝试通过套接字将数据从 node.js 发送到 Java。 我四处搜索,但没有什么是真正有用的。我习惯了 socket.io 但在这种情况下它似乎并不适合这个。似乎 node.js 的所有套接字扩展并不真正适合发送消息,而是听消息和回答一些事情。

我的 Java 应用程序基本上应该从 node.js 接收一些工作,完成工作并将一些结果发送回 node.js。不,这项工作不能在 node.js 上完成,它必须由 Java 完成(实际上是 Scala,但无论如何)。

你们有谁知道我怎样才能做这样的事情吗?

谢谢

最佳答案

你可以使用 node.js 中的内置套接字来做类似的事情(在 java 和 node.js 中都很容易,但你会明白重点的):

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 Test {

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

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

            input = client.getInputStream();
            String inputString = Test.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 .js:

var net = require('net');

var client = net.connect(1010, 'localhost');

client.write('Hello from node.js');

client.end();

以及有关套接字的 node.js 文档的链接:http://nodejs.org/docs/latest/api/net.html

关于java - 使用套接字将数据从 node.js 发送到 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8407460/

相关文章:

java - 在Java中搜索具有不同键的对象

C - 大约 30 次读取后无法读取套接字

sockets - Sails.js socket.io 一般安全性

java - 将值传递给另一个jsp

java - 如何将扩展类从 DailyRollingFileAppender 转换为 Log4j 2

javascript - 带有 jQ​​uery ajax 的字符串中的单引号

javascript - 如何通过单击链接使用来自 URL 的值来设置下拉列表的值

Java监听端口

java - Java 编译器 API 不起作用我一直无法解析类 javax.tools.JavaCompilerTool 和其他类似的类

Javascript 将字符串常量定义为速记属性