【问题标题】:Sockets, multi-threading in .NET Applications for cooperative work [closed]用于协作工作的.NET应用程序中的套接字、多线程[关闭]
【发布时间】:2014-01-24 12:34:28
【问题描述】:

我目前正在开发一个类似于简单位图图形编辑器的应用程序,例如 MS Paint。 该应用程序是 Windows 窗体,我使用不同的 c# 图形类进行绘图。

我想知道是否有办法使用 Sockets 或任何其他工具来使我的应用程序具有协作性。我想让几个人连接到我的应用程序并进行团队协作。

是否可以使用 Windows 窗体?如有任何建议,我将不胜感激。

【问题讨论】:

  • 如果您的问题是Is it possible with Windows Forms?,答案是是的,当然。如果您的问题是关于工具的回答是your question is off-topic
  • 您可能想查看XSockets:“另一方面,XWebSocket 适合用于客户端应用程序,例如本地移动应用程序、WPF、WinForms。 。”

标签: c# .net multithreading visual-studio-2010 sockets


【解决方案1】:

首先:使用 WinForms 或任何其他模板都没有关系。您可以轻松地为任何类型的项目添加缺失的引用。

两种可能的套接字是 TCP 或 UDP。
这些 Socket 的一个问题是它们通常用于 p2p 连接。
此外,只有 TCP 可以保证所有发送的数据包的正确到达,因此在您的情况下,强烈建议您这样做。

在这个线程中,他们讨论了许多客户端到一个服务器的问题:
TCP server with multiple Clients

如果你让它连接多个连接,你应该考虑一个系统来处理每个客户端的变化。
我建议一个服务器/客户端系统,一个人主持会话。
每个客户端都有一个图像副本,每次有人更改像素时,都会调用本地事件,将更改传输到服务器。
服务器现在只需要将更改“刷新”到每个连接的客户端。

一个棘手的事情可能是两个客户端同时更改相同的像素,但这就是你的工作 =P

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    • 2010-09-15
    • 1970-01-01
    • 2011-11-29
    • 2015-06-25
    相关资源
    最近更新 更多