日期:2014-05-16  浏览次数:21261 次

C# Socket/WCF/Rometing/Web Services的详解与区别
Socket/WCF/Rometing/Web Services的详解与区别,尽量简短通俗!

顺便说一下:ibatis
------解决方案--------------------
个人理解
1. socket是数据通信的基础,功能最强大,但要用好用户需要处理的东西特别多。要保证效率,还得socket,比如做游戏服务器。
2. WCF是ms主推的技术,功能强大,可以通过配置方式实现多种模式,系统替用户做了很多事情,如果对性能
没有很变态的要求,基本都能满足,开发效率相当高。
3. remoting技术算是wcf的前身。用过wcf估计没有人又再去用remoting。
4. webservice的通用性好,一端是java,另一端是.net,没有问题。当然效率不会太好。
如果理解的不对,请大牛指正。
------解决方案--------------------
它们功能都并不多,至于用哪一个就跟2楼说的一样。
这些相当于:石头、弓箭,火枪、大炮、导弹。如果你只想杀只鸡,用弓箭效率高,如果你想灭小日本,得用导弹。
------解决方案--------------------
需要第三方合作的, 首选Web Services

Socket开发难度大,没经验的还是WCF吧

------解决方案--------------------
如果你想把一个数据从一台机器传输到另一台机上上去

Socket他只负责传输,数据如何转换成可传输的格式(序列化)到另一台在从可传输的格式数据(反序列化)他都不管。

Rometing 他负责传输还能管序列化和反序列化,但他的序列化和反序列化都是他自己的格式,只有.Net能解析,就是所客户端和服务端必须都是.Net。

Web Services 他负责传输还能管序列化和反序列化,因为他采用的soap序列化,这个是标准,所以他的客户端和服务端可以不是.Net。

WCF:上面有个哥们说remoting技术算是wcf的前身,我不这样认为也没看见ms这么说,WCF完全是两个东西,一点也没相关性。

WCF能传输管序列化和反序列化,你可以通过配置文件选不同的传输仿似和反序列化方式,不想Rometing 和 Web Services 只支持一种方式。 甚至你如果觉得他提供的居多方式还是不满意,你自己还可以定义你自己的方式。


还有一点Web Services 有一个广义的概念,说到ms Web Services ,最好说asmx Web Services,省的误解 

------解决方案--------------------

说白了Socket是其他三个的爹,其他三个由Socket扩展而来,都各自的本领,但都少不了Socket的支持,就是让你方便开发。
越原始的东西开发越难,但性能也是最好的。