是否有使用 signalR 向 .net 集线器发送消息的控制台或 winform 应用程序的小示例?我已经尝试了 .net 示例并查看了 wiki,但集线器(.net)和客户端(控制台应用程序)之间的关系对我来说没有意义(找不到这样的示例)。该应用程序是否只需要集线器的地址和名称即可连接?
如果有人可以提供一小段代码来显示应用程序连接到集线器并发送“Hello World”或.net 集线器接收到的东西?
PS。我有一个运行良好的标准集线器聊天示例,如果我尝试在 Cs 中为其分配集线器名称,它会停止工作,即 [HubName("test")] ,您知道原因吗?
谢谢。
当前控制台应用程序代码。
static void Main(string[] args)
{
//Set connection
var connection = new HubConnection("http://localhost:41627/");
//Make proxy to hub based on hub name on server
var myHub = connection.CreateProxy("chat");
//Start connection
connection.Start().ContinueWith(task =>
{
if (task.IsFaulted)
{
Console.WriteLine("There was an error opening the connection:{0}", task.Exception.GetBaseException());
}
else
{
Console.WriteLine("Connected");
}
}).Wait();
//connection.StateChanged += connection_StateChanged;
myHub.Invoke("Send", "HELLO World ").ContinueWith(task => {
if(task.IsFaulted)
{
Console.WriteLine("There was an error calling send: {0}",task.Exception.GetBaseException());
}
else
{
Console.WriteLine("Send Complete.");
}
});
}
集线器服务器。(不同的项目工作区)
public class Chat : Hub
{
public void Send(string message)
{
// Call the addMessage method on all clients
Clients.addMessage(message);
}
}
信息 Wiki 是http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-net-client