buttplug-csharp icon indicating copy to clipboard operation
buttplug-csharp copied to clipboard

Using Client.DisconnectAsync() invokes ServerDisconnect event twice

Open Tatsukio opened this issue 6 months ago • 0 comments

Buttplug 4.0.0

Steps to reproduce:

  1. Subscribe to the ServerDisconnect event
  2. Connect to the server using Client.ConnectAsync()
  3. Call Client.DisconnectAsync()

Code Example:

public static async void Test()
{
    Client.ServerDisconnect += OnServerDisconnect;
    await Client.ConnectAsync(new ButtplugWebsocketConnector(new Uri(WebsocketString)));
    await Client.DisconnectAsync();
}

public static void OnServerDisconnect(object? p_obj, EventArgs p_arg)
{
    Log.Info($"OnServerDisconnect: {p_obj}");
}

Log output: OnServerDisconnect: Buttplug.Client.ButtplugWebsocketConnector OnServerDisconnect: Buttplug.Client.ButtplugClient

Tatsukio avatar Aug 03 '25 18:08 Tatsukio