Странное поведение с клиентами socketIO и .NET - PullRequest
0 голосов
/ 16 декабря 2018

Я использую socketIO на узле и подключаю его к внешнему интерфейсу, они работают нормально. Теперь я хочу продвинуться дальше

Я хочу, чтобы мои клиенты .net (UWP) общались с socketIO Нопроисходит что-то действительно странное

Сначала я проверил, и все работает нормально, во второй раз, когда я запускаю клиент. Он начал отправлять два или более сообщений, когда я отправляю только одно.И я понимаю, что если я сначала открою клиент .net, а затем сервер, этого не произойдет, но когда я выключил своих клиентов (пока сервер еще работал), эта ошибка начала происходить.

public sealed partial class StuffDetail : Page
 {
    Socket socket = IO.Socket("ws://localhost:8888");
    ObservableCollection<SocketMessage> InCommingData { get; set; } = new ObservableCollection<SocketMessage>();
    public StuffDetail()
    {
        this.InitializeComponent();
        DisconnectState();
        SetSocket();
        ChatWindow.ItemsSource = InCommingData;
    }

    private void DisconnectState()
    {
        ReceivedText.Text = "Not Connect";
    }



    private void SetSocket()
    {
        socket.Connect();
        ReceivedText.Text = "Connect Completed";

        socket.On("chat", async (data) =>
        {

            await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            {
                var IncomeMess = JsonConvert.DeserializeObject<SocketMessage>(data.ToString());
                InCommingData.Add(IncomeMess);
            });

        });


    }



    private void Send(object sender, RoutedEventArgs e)
    {
        var message = new SocketMessage()
        {
            message = MessTextBox.Text,
            handle = "From Beta User"
        };
        socket.Emit("chat", JsonConvert.SerializeObject(message));
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...