我正在尝试通过套接字将数据从 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/