Sunday, May 19, 2024
 Popular · Latest · Hot · Upcoming
121
rated 0 times [  126] [ 5]  / answers: 1 / hits: 18201  / 13 Years ago, tue, december 6, 2011, 12:00:00

I'm trying to send data from node.js to Java through sockets.
I searched around but nothing was really useful. I'm used to socket.io but in this case it doesn't seem really suitable for this. It seems like all the socket extensions for node.js are not really suited for sending messages, but rather listening to messages and answering something.



My Java app basically should receive some work to do from node.js, do the work and send some result to node.js back. And no, the work cannot be done on node.js, it has to be done by Java (which actually is Scala but whatever).



Does anyone of you know how can I do something like this?



Thanks


More From » java

 Answers
20

You can use the build in socket in node.js to do something like that (very easy both in java and node.js, but you'll get the point) :



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();


And the link to the node.js doc about sockets : http://nodejs.org/docs/latest/api/net.html


[#88713] Monday, December 5, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
nicholas

Total Points: 188
Total Questions: 76
Total Answers: 103

Location: Honduras
Member since Sun, Dec 26, 2021
2 Years ago
;