Соединение работает на локальном хосте, но я не могу подключиться к серверу с другого компьютера. SIgnalR - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь создать приложение для единства с подключением клиент-сервер-клиент.Это мой сервер:

    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();

Все работает нормально, если в клиенте я пытаюсь подключиться к своемуlocalhost, но если сервер находится на другом ПК, я не могу установить соединение с этой ошибкой: «InvalidOperationException: соединение не было установлено».У кого-нибудь есть идеи, что я могу сделать, чтобы это исправить?Я новичок в программировании и очень новичок в signalR.

1 Ответ

0 голосов
/ 30 мая 2018

Используйте ip сервера или определите dns для серверного компьютера, чтобы вы называли URL-адрес домена вместо localhost.Вы можете получить IP-адрес сервера с помощью кода, подобного следующему.

IPAddress[] addresslist = Dns.GetHostAddresses(Dns.GetHostName());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...