为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕尼黑5688855 2021-10-20 15:57:24
我试图找出一种使用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();            }        }    }
查看完整描述

1 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

是的,您可以在 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>', () => {

    // callback, when connection successfull

    client.write('Data sent to the App');

});

client.on('data', (data) => {

    // callback, when app replies with data

});

client.on('close', (data) => {

    // callback, when socket is closed

});

但是,根据您实际尝试实现的目标,您可能需要查看 Android 应用程序通常如何实现推送通知。


查看完整回答
反对 回复 2021-10-20
  • 1 回答
  • 0 关注
  • 177 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信