c# 聊天客户端与 socket io

c# chat client with socket io

我正在使用 socket io 在 C# 中构建一个聊天客户端,服务器在 nodejs 中,我的问题是当接收来自其他用户的消息时,我如何构建程序才能打开不同的 window 对于每个向我发送消息但不混合消息的用户。我希望我解释得很好。谢谢

The idea of what i want to make

嗯,我认为最好的选择是使用 WPF 和自定义控件。有了它,您可以轻松制作聊天气泡并将它们添加到看板,而不会丢失概览。

它也更好,因为工作代码 (c#) 与设计代码 (xaml) 是分开的。 希望对你有帮助。

由于消息中有 'from' 字段,这应该不是问题,您可以按此字段划分消息,然后将所有聊天记录的集合存储在某处,例如:

Dictionary<string, ChatWindow> chatWindows = new Dictionary<string, ChatWindow>();
...
public void ProcessMessage(Message message)
{
    ChatWindow chatWindow;
    if(!chatWindows.TryGetValue(message.From, out chatWindow))
    {
        chatWindow = new ChatWindow();
        chatWindows[message.From] = chatWindow;
    }

    chatWindow.AddMessage(message);
}

这只是某种伪代码,但我希望你能理解。