繁体   English   中英

wcf vs c#网络编程

[英]wcf vs c# network programming

我想研究网络编程,在“C#简而言之”中有一个名为“网络”的章节,本章包含“WebClient”,“HttpClient”,“FTP”,“TCP”等。 但是有些人告诉我学习WCF,我想知道WCF和c#网络编程之间的关系是什么,我记得我曾经看到WCF封装网络编程的地方,它更灵活方便,但效率不高。 这是否意味着他们之间的关系,如ado.net技术与orm? 我应该学习哪些,网络编程还是WCF? c#网络编程是否是一种过时的技术?

谢谢

“网络编程”通常指套接字,这是网络通信的最低级别,处理网络上的推送字节 - 所有其他通信系统都建立在套接字之上。

大多数项目不直接使用套接字,因为您可以使用简单的更高级别的系统,但我认为学习基础知识仍然是值得的,因为它不是那么复杂,它将帮助您处理那些更高级别系统中的问题。

下一级是WebClient和朋友,这些是相对简单的类,它们在套接字之上实现通信协议(例如HTTP)。

绝对值得花时间学习如何使用它们,因为它们非常简单且非常有用(例如,如果您想从互联网上提取文件或与第三方服务进行通信)。

在最高级别,您有WCF,这是一个广泛的(并且在我个人看来过于复杂和过度设计)框架,为您提供基于外部网络的服务的类接口,同时尝试(不成功)隐藏所有通信细节。

WCF在大型组织和“企业系统”中非常流行,因此,如果您希望获得为大型组织开发企业系统的工作,学习WCF是一项非常聪明的职业转变。

所以,我的建议,从套接字开始,只学习基础知识 - 这将帮助您了解事情的工作原理(当您必须调试网络问题时,这将变得非常有用)。

然后转到更高级别的课程,编写一个简单的程序,使用WebClient从互联网上读取页面,这样您就可以熟悉这个概念,不要理会所有高级选项,它们就在那里你可以查找它们以后当你需要它们时。

学习套接字和WebClient的基础知识应该只花几个小时,之后(如果你想在大型系统上工作)学习如何使用WCF。

然后,您将获得简历的WCF知识,并且您将知道如何通过几行代码在互联网上获取某些内容,而不需要使用巨大的框架。

如果你想研究网络编程,你会想要阅读有关套接字和TCP / IP的内容(如果你想要流式传输或更小的数据包,可以在以后读取)。 套接字是大多数操作系统用于处理TCP / IP等协议的API。

你的比较是正确的。 WCF是.NET中网络层之上的框架。 就像ORM是ADO.NET之上的框架一样。

WCF不是所谓的网络编程。 它们是两个有某种关系的概念。

通常,网络编程意味着套接字编程和TCP / IP。 您应该熟悉协议,例如HTTP,FTP,SNMP等。 然后,您可以编写充当协议服务器和客户端的程序。 网络节目仍然很热门,虽然不再流行。

WCF是Web服务的框架,它只是HTTP(主要是SOAP)。

如果可能的话,你应该学习两者或至少知道两者。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM