【问题标题】:Send a stream of integers from Android app and receive it on Node.js express server从 Android 应用发送整数流并在 Node.js 快速服务器上接收
【发布时间】:2014-01-13 18:16:38
【问题描述】:

我将尝试制作一个简单的 hack,将来自 Android 应用的连续流式整数发送到 Node.js 服务器。

如果我使用 express 路由 API 呼叫,我想知道如何在 Android 中创建这样的流,以及如何在我的 Node.js 服务器中接收它。

如果有人能给我一个高层次的解释,说明它是如何工作的,那就太好了。从外部WriteStream创建Node.js的具体代码示例ReadStreams会更好。

【问题讨论】:

    标签: java javascript android node.js express


    【解决方案1】:

    根据流的频率,您可能需要考虑使用 websocket。有一些 android 库可以实现 websocket 标准(快速搜索出现了https://github.com/koush/android-websockets),它声称实现了 websockets 和 Socket.IO。

    方便的是,websockets 和 Socket.IO 都非常适合 Node。对于纯 websocket,我最喜欢 ws 模块。您可以创建一个 websocket 服务器,并为它提供一个快速应用程序,让它处理 websocket 升级请求。类似于(未测试):

    var express = require('express');
    var websockets = require('ws')
    var app = express();
    var wsServer = new WebSocketServer({ noServer: true });
    
    var server = app.listen(3000, function () {
        // Express stuff.
    });
    
    server.on('upgrade', function (req, sock, head) {
        wsServer.handleUpgrade(req, sock, head, function (connection) {
            // The connection object will deliver the stream.
            // You'll need to listen for 'message' events.
        });
    });
    
    wsServer.on('error', function (err) {
        // Don't forget errors.
    });
    

    对于 Socket.IO,请参阅here

    【讨论】:

      猜你喜欢
      • 2016-03-06
      • 2021-04-27
      • 2010-11-02
      • 1970-01-01
      • 2018-08-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-08
      • 2016-06-02
      相关资源
      最近更新 更多