2014-01-24 19 views
2

我目前正在开发一个类似于MS Paint之类的简单位图图形编辑器的应用程序。 应用程序是Windows窗体,我使用不同的c#图形类进行绘制。.NET中的多线程协作工作的套接字应用程序

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

它可能与Windows窗体?我会很感激任何建议。

+1

如果您的问题是'Windows窗体这可能吗?'答案是**是,绝对* *。如果你的问题是关于工具来做这个回答是'你的问题是离题# –

+1

你可能想看看[XSockets](http://xsockets.net/api/external-api/determine-how-to- use-the-external-api):“另一方面,XWebSocket适用于客户端应用程序,如原生移动应用程序,WPF,** WinForms ** ..” – Christian

回答

2

起初:如果您使用WinForms或任何其他模板无关紧要。您可以轻松地将缺失的参考添加到任何类型的项目。

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

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

如果你使它与你应该考虑一个系统来处理每个客户的变化的多个连接进行连接。
我会建议一个服务器/客户端系统,其中一个人主持会议。
每个客户端都有一个映像的副本,每次有人更改像素时,会调用一个本地事件来将更改发送到服务器。
服务器现在只需将更改刷新到每个连接的客户端。

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