【问题标题】:Net 6.0 Console App Signal R client keeps disconnecting direct after connectionNet 6.0 Console App Signal R客户端连接后直接断开连接
【发布时间】:2022-10-06 17:33:57
【问题描述】:

我是 Signal R Core 的新手。我正在尝试将 Signal R 客户端连接到无服务器集线器。在我的示例中,我现在只想创建多个 en get a connection 实例,每次连接一个新实例。

 static async Task Main(string[] args)
    {
        var client   = new HttpClient();
        var response = await client.GetAsync(\"http://localhost:7071/api/negotiate?userid=1\");
        response.EnsureSuccessStatusCode();
        var    responseBody = await response.Content.ReadAsStringAsync();
        var    d            = JsonConvert.DeserializeObject<dynamic>(responseBody);
        string urlString    = Convert.ToString(d.Url);
        var connection = new HubConnectionBuilder()
            .ConfigureLogging(logging =>
                {
                    // Set the log level of signalr stuffs
                    logging.AddFilter(\"Microsoft.AspNetCore.SignalR\", LogLevel.Debug);
                })
                .WithUrl(urlString, options => options.AccessTokenProvider = () => Task.FromResult(Convert.ToString(d.AccessToken)))
            .Build();
        
        connection.On<NewConnection>(\"newConnection\", c => OnReceiveMessage(c));

        await connection.StartAsync(); 

     //    while (connection.State == HubConnectionState.Connected)
     //   {
     //   }

        Console.Read();
    }

    private static void OnReceiveMessage(NewConnection connection)
    {
        Console.WriteLine($\"user {connection.UserId} with connctionid {connection.ConnectionId} has been connected\");
    }

在我的 Javascript 客户端上这是有效的,但在我的 Net 客户端上,每次连接后它都会断开连接:

[2022-10-02T11:03:27.542Z] Executing \'Functions.OnConnected\' (Reason=\'(null)\', Id=3878244a-50cd-47a6-b8c6-98ed1c0dd5c6)
    [2022-10-02T11:03:27.544Z] KimOo3chMz6M9zxEPAlpzQ has connected
    [2022-10-02T11:03:27.549Z] Executed \'Functions.OnConnected\' (Succeeded, Id=3878244a-50cd-47a6-b8c6-98ed1c0dd5c6, Duration=7ms)
    [2022-10-02T11:03:27.571Z] Executing \'Functions.OnDisconnected\' (Reason=\'(null)\', Id=693bec34-3ed3-434c-93fb-e366c1113e4a)
    [2022-10-02T11:03:27.572Z] KimOo3chMz6M9zxEPAlpzQ has disconnected

不知道我现在缺少什么。

    标签: c# .net signalr


    【解决方案1】:

    找到了答案。此行为是由于 Net-Core 控制台应用程序默认不支持 websockets 造成的。通过将其更改为已解决的长轮询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      • 2010-11-01
      • 1970-01-01
      • 2014-12-16
      • 1970-01-01
      相关资源
      最近更新 更多