2010-12-12 29 views
1

我打算建立一个即时消息 现在我必须决定如何实现网络。 到目前为止,我只使用套接字(TCP或UDP)。现在我听说RMI(Java),并且也想在我的C#应用​​程序中使用它。C#:即时消息器 - 网络(NET Remoting/WCF /套接字)?

有.NET Remoting和WCF。我认为用Sockets构建即时消息器不是一个好主意,对吧?但是,我应该使用? .NET Remoting或WCF? .NET Remoting似乎是较旧的技术,与Java RMI类似。我读过.NET Remoting比WCT更快(2007年的文章)。

我应该使用哪种技术用于即时消息?我想从richtextbox和内联图像发送格式化文本。 此外,我想交换文件从聊天客户端聊天客户端。

有关.NET远程处理我发现其使用

ChannelServices.RegisterChannel(myChan); 

教程但这标记为过时。 .NET Remoting是一个过时的技术吗? 是否可以使用WCF或.NET Remoting发送图像和文件,或者套接字是更好的选择?

,我读了WCF是网络技术(Web服务,远程处理,...),但如果我搜索WCF和远程方法调用我只得到Web服务的例子...

BTW的集合:后来,我想用ASP.NET为我的即时消息器实现一个Web客户端。对于网络(WCF/Remoting)有没有一些限制?

谢谢:)

回答

1

.NET Remoting仅保留向后兼容性as of .NET 3.0。因此,如果您打算使用.NET 3.0或更高版本,请使用WCF。

为了您的直接使用,我建议NetTcpBinding。然后您可以使用下面的图表选择更合适的绑定。

WCF Binding Selection Flow Chart

最后,要了解WCF,请参阅this SO question

1

为了您的即时交流解决方案,我会建议WCF P2P这里是一篇文章,让你开始Peer-to-Peer Programming with WCF在这里它是P2P对codeproject一个例子。

+0

p2p〜client to client?我想用数据库的客户端/服务器体系结构(对于用户):) – user437899 2010-12-21 23:46:18