我目前正在开发一个类似于简单位图图形编辑器的应用程序,如MS Paint。 该应用程序是Windows窗体,我使用不同的c#Graphics类进行绘制。
我想知道是否有办法使用套接字或任何其他工具来使我的应用程序协作。我想允许几个人连接到我的应用程序并以团队方式绘制。
Windows Forms可以吗?我很感激任何建议。
答案 0 :(得分:2)
首先:使用WinForms或任何其他模板无关紧要。您可以轻松地向任何类型的项目添加缺少的引用。
两个可能的套接字可以是TCP或UDP 这些套接字的一个问题是它们通常用于p2p连接 此外,只有TCP保证所有已发送数据包的正确到达,因此在您的情况下强烈建议。
在这个帖子中,他们讨论了许多客户对一台服务器的问题:
TCP server with multiple Clients
如果您要连接多个连接,您应该考虑使用系统来处理每个客户端的更改 我建议一个服务器/客户端系统,其中一个人主持会话 每个客户端都有一个图像副本,每当有人更改像素时,就会调用本地事件,将更改传输到服务器 服务器现在只需要对每个连接的客户端“刷新”更改。
一个棘手的问题可能是两个客户同时更改相同的像素,但那就是你的工作= P