分享

java与node.js通信

 quasiceo 2018-08-17

java与node.js通信

2017年02月09日 00:32:18
阅读数:2693

        直接在本地通过socket进行通信。node.js作为服务器,java向node.js请求消息,node.js处理请求并返回。

        以下部分测试通过,之后就可以在这个基础上编写后续的代码了。


        由于使用了readLine()函数,所以java发送或接收的数据都需要保证有换行符。所以临时在node.js发送语句加了换行符,后期可以考虑用缓冲区。


        java输出:

         

        node.js输出:

       

        java部分

        

  1. package javatest;
  2. import java.net.Socket;
  3. import java.util.Scanner;
  4. import java.io.BufferedReader;
  5. import java.io.BufferedWriter;
  6. import java.io.InputStreamReader;
  7. import java.io.OutputStreamWriter;
  8. import java.io.PrintWriter;
  9. public class test{
  10. public static void main(String[] arges){
  11. try{
  12. Scanner scan = new Scanner(System.in);
  13. Socket socket = new Socket ("127.0.0.1", 11111);
  14. BufferedReader in = new BufferedReader (new InputStreamReader (socket.getInputStream()));
  15. PrintWriter out = new PrintWriter (
  16. new BufferedWriter( new OutputStreamWriter( socket.getOutputStream ())), true);
  17. String str = scan.nextLine();
  18. while(!str.equals("quit")){
  19. out.println(str);
  20. System.out.println(in.readLine());
  21. str = scan.nextLine();
  22. }
  23. out.println(str);
  24. System.out.println(in.readLine());
  25. scan.close();
  26. socket.close();
  27. }catch(Exception e){
  28. System.out.println(e);
  29. }
  30. }
  31. }


        node.js部分

  1. var net = require('net');
  2. var HOST = '127.0.0.1';
  3. var PORT = 11111;
  4. net.createServer(function(socket) {
  5. console.log('connection: ' +
  6. socket.remoteAddress + ':' + socket.remotePort);
  7. socket.on('data', function(data) {
  8. console.log('From client : ' + data);
  9. socket.write('From server : successfully received!\n' );
  10. });
  11. socket.on('close', function(data) {
  12. console.log('close: ' + socket.remoteAddress + ' ' + socket.remotePort);
  13. });
  14. }).listen(PORT, HOST);
  15. console.log('Server listening on ' + HOST +':'+ PORT);

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多