СигналР с ДНС

0

Я создаю чат-систему в своем мобильном приложении, но у меня проблема. Я определил jQuery и signalR в моем индексе. Я также определил путь сценария к моему серверу.

Код (index.html)

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">

    <!-- Cordova whitelist plugin -->
    <meta http-equiv="Content-Security-Policy" content="default-src *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; style-src  'self' 'unsafe-inline' *">

    <!-- Base libs -->
    <script src="libs/ionic/js/ionic.bundle.js"></script>
    <script src="libs/ngCordova/dist/ng-cordova.min.js"></script>
    <script src="cordova.js"></script>

    <!-- Third party libs -->
    <script src='libs/jquery/dist/jquery.min.js'></script>
    <script src='libs/signalR/jquery.signalR.min.js'></script>

    <!-- Location for SignalR lib to open a connection with  -->
    <script src="http://www.mytestserver.nl/chathub/signalr/hubs"></script>  

    <!-- Application Javascript files | put the routing files after the controllers! -->
    <script src="app/app.js"></script>
</head>

У меня есть рабочая версия моего локального хоста, поэтому я считаю, что мой код прав. Когда я пытаюсь использовать код в своем контроллере, я получаю 404 не найденную ошибку. Я думаю, это связано с тем, что я не определяю порт в своем сценарии на сервере. Затем signalR по умолчанию соответствует текущему хосту (localhost: 8100).

Код (chatController.js)

.controller('ChatController', ['$scope', '$state', function ($scope, $state) {
       $.connection.hub.url = "http://www.mytestserver.nl/chathub/signalr"; 
       $.connection.hub.start().done(function () {
       console.log("hello world");
    });
}]); 

Не входит DNS. Я не могу определить номер порта, потому что DNS удаляет номера портов. Определение любого номера порта приводит к ошибке 404 или ошибке времени ожидания подключения.

Что я могу сделать, чтобы установить соединение с сервером?

  • 0
    JQuery и Angularjs не очень совместимы, я надеюсь, что вы знаете об этом.
  • 0
    сверху вы не включаете angularjs в index.html ...
Показать ещё 1 комментарий
Теги:
dns
signalr

1 ответ

0

У Ive была эта ситуация, перед которой отлично работала на devexpress localhost, но при передаче в IIS путь не отображался правильно.

Возможно, что путь, который вы указали для signalr/hubs, неверен, поэтому сервер не правильно его подбирает.

Попробуйте добавить подстановочный знак к вашей ссылке signal/hubs, как это

<script src="~/signalr/hubs"></script>

После этого откройте консоль javascript и убедитесь, что ошибок нет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню