如何使用Pusher将消息从客户端发送到服务器



我已经在ASP.NET MVC网站上配置了Pusher Server:

[HttpPost]
public async Task<ActionResult> HelloWorld() {
var options = new PusherOptions
{
  Cluster = "ap2",
  Encrypted = true
};
var pusher = new Pusher(
  "123",
  "ABC",
  "XYZ",
  options);
var result = await pusher.TriggerAsync(
  "my-channel",
  "my-event",
  new { message = "hello world" } );
  return new HttpStatusCodeResult((int)HttpStatusCode.OK);
 }
}

我已经在Java Swings中成为客户端的客户:

PusherOptions options = new PusherOptions();
options.setCluster("ap2");
Pusher pusher = new Pusher("XYZ", options);
Channel channel = pusher.subscribe("my-channel");
channel.bind("my-event", new SubscriptionEventListener() {
@Override
    public void onEvent(String channelName, String eventName, final String data) 
    {
      System.out.println(data);
    }
  });
pusher.connect();

这正常工作,每当我从服务器发送任何消息时,我都会在客户端Java应用中接收消息。

但是,如何与客户端一起将消息从客户端发送到服务器?

有不同的方法可以做到这一点。如果您有一个令牌或cookie供您登录的用户登录,则可以(应该(将其用于敏感数据。否则,基本上可以将数据发送在您的HTTP主体中,并由端点作为参数或复杂对象接收。

public async Task<ActionResult> HelloWorld(string foo, string bar) {
//Stuff goes here
}

通常,您的内容类型是应用程序/JSON,但您也可以消费其他类型。

那么身体看起来像:

{
   "foo":"Hello",
   "bar":"World"
}

最新更新