Сокет может подключаться к серверу по WIFI, но не с сотовыми данными - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть 100 клиентов, которые подключаются к моему серверу с помощью веб-сокетов (теперь tcp). Мой код очень прост (см. Ниже). У меня есть клиент на T-Mobile 4G Data, использующий OnePlus 5t, который не может подключиться к серверу по мобильным данным, но он может по данным Wi-Fi. Есть идеи, в чем может быть проблема? Я должен отметить, что я использую .netstandard 2.0 также.

Что я пробовал до сих пор:

  • Пользователь проверил, что у приложения есть разрешение на использование мобильных данных.
  • Я изменил протокол для использования «wss» вместо «ws».
  • Я изменил порт (пользователь проверил https://www.websocket.org/echo.html и он сказал, что смог подключиться к нему).
  • Наконец, (несколько недель спустя) я переключил все на протокол tcp client, и это все равно не сработало.

Пока ни один из этих вариантов не сработал.

public void Connect(string address, int port)
{
    UriBuilder uriBuild = new UriBuilder("ws", address, port);
    Uri uri = uriBuild.Uri;
    _ws = new ClientWebSocket();
    _tokenSource = new CancellationTokenSource();

    ConnectToServerAsync(uri);
}

private async void ConnectToServerAsync(Uri uri)
{
     await _ws.ConnectAsync(uri, _tokenSource.Token);
}
...