信号器Winform回调

时间:2013-08-28 14:15:19

标签: c# websocket signalr signalr-hub

我正在尝试使用Signalr Hubs并创建了一个小应用程序来将消息推送到外部集线器。我创建一个代理并连接到集线器,然后我可以调用我想要的任何方法。

  InitializeComponent();

        connection = new HubConnection("http://externalsite.net");

        myHub = connection.CreateProxy("WebHub");

        if (connection.State.ToString() != "Connected")
        {
            connection.ConnectionId = "adminConsole";

            Console.WriteLine("Attempting to connect...");
            connection.Start().ContinueWith(task =>
            {

                Console.WriteLine("Attempting to Connect");
                if (task.IsFaulted)
                {
                    Console.WriteLine("error opening the connection:{0}" 
                    task.Exception.GetBaseException());
                }
                else
                {

                    Console.WriteLine("Client Connected");

                }
            }).Wait();
        }

然后我可以使用“myHub.Invoke(method)”

在我的中心,我有连接客户端的方法,可以更新网页,但如何订阅或通知我的应用程序这些事件?

例如,这是集线器上的一种方法:

public void Send(字符串消息,字符串名称)         {

        Clients.All.Broadcast(message, name);
    }

所有客户都收到此邮件,我的应用程序如何才能收到此消息? 这可能吗?,我可以让我的应用程序轮询更改,但这远非理想。

更新: 我试图附上On<>以下方法也没有运气。

myHub.On<VMessage>("Send", message =>
            textBox1.Text += string.Format("Message update for
           {0} Message : {1}\n", message.engineName, message.Vmsg)
            );

0 个答案:

没有答案