我已经在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"
}