我正在尝试通过套接字将数据从node.js 发送到Java。
我四处搜寻,但没有什么真正有用的。我习惯了 socket.io 但在这种情况下它似乎不太适合这个。似乎 Node.js 的所有套接字扩展并不真正适合发送消息,而是适合监听消息并应答某些内容。
我的Java应用程序基本上应该从node.js接收一些要做的工作,完成工作并将一些结果发送回node.js。不,这项工作不能在 Node.js 上完成,它必须由 Java 完成(实际上是 Scala,但无论如何)。
你们有人知道我该怎么做这样的事情吗?
Thanks
你可以使用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();
}
}
节点.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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)