如何在Android / IOS中实现Web Api集成信号器?

时间:2017-08-07 17:29:54

标签: android ios asp.net-web-api signalr

我一直在使用asp.net MVC和WebApi应用程序,我希望实现服务器到客户端的实时更新和响应,反之亦然, 但是我不知道从哪里开始ios和android,我知道Signalr在MVC和WebApi中是如何工作的。请参阅下面的示例实现。以及它是如何工作的。

WebApi Controller Extended

public abstract class ApiControllerWithHub<THub> : BaseApiController
where THub : IHub
{
    Lazy<IHubContext> hub = new Lazy<IHubContext>(
        () => GlobalHost.ConnectionManager.GetHubContext<THub>()
    );

    protected IHubContext Hub
    {
        get { return hub.Value; }
    }
}

ChatHub

[HubName("chatHub")]
public class ChatHub :Microsoft.AspNet.SignalR.Hub
{
    public void sendMessage(string msg)
    {
        Clients.All.hello("Hello " +  msg");
    }

}

SampleController

public class SampleController : ApiControllerWithHub<ChatHub>
{
    [Route("Hello")]
    [HttpGet]
    public IHttpActionResult Hello(string msg)
    {
        Hub.Clients.All.hello("Hello " +  msg);
        return Ok("Hello " + msg);
    }
}

HTML

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8"/>
    <script src="/Scripts/jquery-1.6.4.js"></script>
    <script src="/Scripts/jquery.signalR-2.2.1.js"></script>
    <script src="/signalr/hubs"></script>
    <script>
        $(document).ready (function() {

            // Reference the auto-generated proxy for the hub.

            var chathub = $.connection.chatHub;
            $(".btn").click(function () {
                var msg = "World!";
                //chatHub.server.sendMessage("World!"); 
                $.get("/api/v1/sample/hello?msg=" + msg , function (data) {
                    console.log(data);
                });
            });

            chathub.client.hello = function (data) {
                $(".pmsg").html(data);
            };
        });
    </script>
</head>
<body>
<button class="btn">click</button>
<h2>Message</h2>
<p class="pmsg"></p>
</body>
</html>

现在已经完成了Web API,我如何在android和ios中实现它? 我只是想要,如果这是可能的实现与Android和ios如果它确实请帮助我]]给我一些示例如何访问此信号器中心。

顺便说一句,我找到了一些可以在android中使用的Signalr库,这里是link

任何答案都将不胜感激,先谢谢先生。

0 个答案:

没有答案