dotnet / dotnet/aspnetcore

[SignalR-Client-Cpp] Support for LongPolling Transport

Open
#45,791 1 comment 0 reactions 0 assignees View on GitHub
area-signalr
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 6h
Merged PRs (30d)
290

Description

### Is there an existing issue for this?

- [X] I have searched the existing issues

### Is your feature request related to a problem? Please describe the problem.

I am using SignalR-Client-Cpp from inside a corporate network to connect to a public (online) signalR hub. The connection goes through a WAF which is incompatible to websockets.

### Describe the solution you'd like

Automatic fallback to use Long Polling [Transport](https://github.com/aspnet/SignalR/blob/release/2.1/specs/TransportProtocols.md) when the `Upgrade` to Websockets is not possible.

```log
[error ] [websocket transport] exception when connecting to the server: set_fail_handler: 20: Invalid HTTP status.
[error ] transport could not connect due to: set_fail_handler: 20: Invalid HTTP status.
[info ] stopping connection
[info ] acquired lock in shutdown()
set_fail_handler: 20: Invalid HTTP status.
```

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.