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