socket.io-client-csharp icon indicating copy to clipboard operation
socket.io-client-csharp copied to clipboard

socket does not reconnect on xamarin ios, and OnDisconnected event does not fire

Open rkarban opened this issue 4 years ago • 4 comments

rkarban avatar Jan 24 '21 19:01 rkarban

Are you using the latest version? How did you disconnect?

image

    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
            Messages = new ObservableCollection<string>();
            socket = new SocketIO("http://192.168.0.69:11000", new SocketIOOptions
            {
                Query = new Dictionary<string, string>
                {
                    {"token", "io" }
                }
            });
            socket.OnConnected += Socket_OnConnected;
            socket.OnDisconnected += Socket_OnDisconnected;
            BindingContext = this;
        }

        public ObservableCollection<string> Messages { get; }

        private void Socket_OnDisconnected(object sender, string e)
        {
            Messages.Add("******************Socket_OnDisconnected");
        }

        private void Socket_OnConnected(object sender, EventArgs e)
        {
            Messages.Add("******************Socket_OnConnected");
        }

        SocketIO socket;

        private async void Button_Clicked(object sender, EventArgs e)
        {
            await socket.ConnectAsync();
        }
    }

doghappy avatar Jan 25 '21 11:01 doghappy

yes, I am using the latest version. I have tested connect/disconnect by switching internet connection. On Android devices it works, but the problem is with ios devices

rkarban avatar Jan 25 '21 12:01 rkarban

Very bad, I don’t have a Mac device, so I can’t run Xarmarin.iOS

doghappy avatar Jan 26 '21 01:01 doghappy

Also I use timer for checking socket connection. But sometimes app crashes because of "System.InvalidOperationException: The WebSocket has already been started.", even if I call socket.ConnectAsync() in try/catch statement

rkarban avatar Jan 27 '21 08:01 rkarban