使用Pusher构建Android聊天应用程序:不工作

时间:2017-10-27 20:45:47

标签: android node.js chat pusher

按照本教程:https://blog.pusher.com/build-an-android-chat-app-with-pusher/,我已经调试了几个小时,以找出它无法正常工作的原因。

从客户端我执行以下操作:

private void postMessage()  {

    String text = messageInput.getText().toString();

    // return if the text is blank
    if (text.equals("")) {
        return;
    }

    RequestParams params = new RequestParams();

    // set our JSON object
    params.put("text", text);
    params.put("name", "DogLover69");
    params.put("time", new Date().getTime());

    // create our HTTP client
    AsyncHttpClient client = new AsyncHttpClient();

    client.post(MESSAGES_ENDPOINT, params, new JsonHttpResponseHandler(){

        public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    messageInput.setText("");
                }
            });
        }

        public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
            Toast.makeText(
                    getApplicationContext(),
                    "Something went wrong :(",
                    Toast.LENGTH_LONG
            ).show();
        }
    });
}

注意:MESSAGES_ENDPOINT是服务器的IP地址+我正在连接的端口,我已经确认它是正确的。

从服务器我执行以下操作:

var Pusher = require('pusher');

var pusher = new Pusher({
  appId: "421748",
  key: "4e789b8f7019463f945b",
  secret: "fff93ef698f9231c00dd"
});


...


app.post('/messages', function(req, res){
var message = {
  text: req.body.text,
  name: req.body.name
}
console.log(message);
pusher.trigger('messages', 'new_message', message, function(err){
        console.log("bananas");
        done(err);
    });
res.json({success: 200});
});

服务器正确打印消息并以200成功代码响应;但是,虽然服务器成功从客户端收到消息,但服务器无法将消息发送到推送器。使用推送器网站上的调试控制台确认了这一点。

这是触发错误,所以我认为这是问题所在:

pusher.trigger('messages', 'new_message', message, function(err){
    console.log("bananas");
    done(err);
});

Server output when I catch the error from pusher.trigger

我一直试图弄清楚很久以来的错误, 任何帮助,将不胜感激。我可能会尝试与推送人员取得联系,因为我已经虔诚地遵循了教程并且三重检查了我的所有步骤。我的特定问题没有太多资源,但我希望有这个问题的其他人可以找到这个!

由于

1 个答案:

答案 0 :(得分:0)

代码看起来正确。您能否请仔细检查是否有与之关联的cluster值 - 您应该可以在dashboard.pusher.com上看到它。