如何将数据从节点发送到另一台服务器

我试图找出一种使用Node作为客户端的方法,它将数据发送到侦听 Android 应用程序的服务器。android 应用程序最初将使用其公共 IP 地址和它将侦听的端口(套接字)向 Node 服务器发送一个 post 请求。一旦有任何新内容,Node 服务器就会通过注册的套接字向该特定应用程序发送一个 JSON 数据包。


这在 Node 中是可能的,如果不是,我如何在 Javascript 中实现它,或者实现它的最佳方法是什么?


这是Android应用服务器


public class AndroidAppLocalServer {

    Activity activity;

    ServerSocket serverSocket;

    String message = "";

    static final int socketServerPORT = 8080;


    public AndroidAppLocalServer(Activity activity) {

        this.activity = activity;

        Thread socketServerThread = new Thread(new SocketServerThread());

        socketServerThread.start();

    }


    public int getPort() {

        return socketServerPORT;

    }


    public void onDestroy() {

        if (serverSocket != null) {

            try {

                serverSocket.close();

            } catch (IOException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

        }

    }


慕尼黑5688855
浏览 178回答 1
1回答

一只甜甜圈

是的,您可以在 Node.js 中执行此操作,假设该应用程序在实际可公开访问的手机上运行。由于您在 Android 应用程序中使用的是普通 TCP 套接字,因此您可以先通过使用诸如netcat或 之类的工具手动连接套接字来进行验证telnet(例如,netcat <PUBLIC-IP> 8080)。如果这可行,您可以使用net.Socket该类在 Node.js 中执行相同的操作。const net = require('net');const client = new net.Socket();client.connect(8080, '<PUBLIC-IP>', () => {&nbsp; &nbsp; // callback, when connection successfull&nbsp; &nbsp; client.write('Data sent to the App');});client.on('data', (data) => {&nbsp; &nbsp; // callback, when app replies with data});client.on('close', (data) => {&nbsp; &nbsp; // callback, when socket is closed});但是,根据您实际尝试实现的目标,您可能需要查看 Android 应用程序通常如何实现推送通知。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java