我试图与连接客户端 - 服务器 - 客户端建立一个统一应用程序。这是我的服务器:
class Program
{
static IDisposable SignalR;
static void Main(string[] args)
{
string url = "http://localhost:8089";
//string url = "http://127.0.0.1:8088";
SignalR = WebApp.Start(url);
Console.ReadKey();
}
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR();
}
}
[HubName("MyHub")]
public class MyHub : Hub
{
public void Send(Guid name, int[] message)
{
//bramka - to co dostanie od jednego klienta rozpowie wszytskim
Console.WriteLine($"message sent from {name.ToString()}: move from {message[0]},{message[1]} to {message[2]},{message[3]}");
Clients.All.addMessage(name, message);
}
}
}
这是我客户的一部分:
var connection = new HubConnection("http://HERE IS IP ADDRESS OF SERVER:8089/");
myHub = connection.CreateHubProxy("MyHub");
connection.Start();
如果在客户端我尝试连接到我的本地主机,但是如果服务器在其他PC上,我无法建立与此错误的连接:" InvalidOperationException:连接尚未建立,一切正常" 有谁知道我该怎么做才能修复它?我是编程方面的新手,也是signalR的新手。
答案 0 :(得分:0)
使用服务器ip或为服务器计算机定义dns,因此您可以调用域URL而不是localhost。 您可以使用如下代码检索服务器IP地址。
IPAddress[] addresslist = Dns.GetHostAddresses(Dns.GetHostName());