SignalR重新连接到其他网址

时间:2017-03-13 21:35:15

标签: signalr

我需要在断开连接后连接到其他端口

样品:

  1. 连接到zxy.com:8080/signalr
  2. 断开
  3. 连接到zxy.com:8081/signalr
  4. 断开
  5. 连接到zxy.com:8082/signalr
  6. 现在我工作了

    function SignalR(port) {
        var conn = $.hubConnection(root + ':' + port + '/signalr', { useDefaultPath: false });
        manager.hub = conn.createHubProxy('myHub');
        conn.stateChanged(state => {
            case $.signalR.connectionState.disconnected:
                manager.hub.connection.stop();
                setTimeout(function () {
                        port++;
                        SignalR(port);
                    }, 5000);
                    break;
        })
    

    它工作但我想使用默认/简单代码

    function SignalR(port) {
      //SET CORRECT port
      manager.hub = $.connection.myHub;
      $.connection.hub.start().done(function () {
      });
      $.connection.hub.disconnected(function () {
            //DISPOSE CURRENT
            setTimeout(function () {
                port++;
                SignalR(port);
            }, 5000);
        });
    

    我不想重写所有代码

    manager.hub.client.someEvent(...)
    to
    manager.hub.on('someEvent', ...)
    
    manager.hub.server.someMethod();
    to
    manager.hub.invoke('someMethod', ...)
    

1 个答案:

答案 0 :(得分:0)

$.connection.hub.url = host + port + '/signalr';
$.connection.hub.start();