Sending data from node.js to Java using sockets

后端 未结 1 1228
隐瞒了意图╮
隐瞒了意图╮ 2020-12-24 09:30

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 rea

相关标签:
1条回答
  • 2020-12-24 09:57

    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

    0 讨论(0)
提交回复
热议问题