需要c#服务器/客户端风格程序的帮助

本文关键字:程序 帮助 风格 客户端 服务器 需要 | 更新日期: 2023-09-27 17:52:36

我一直想在c#中学习TCP或UDP(我听说UDP很糟糕),但我从来没有找到任何可以教它的教程。我的意思是,我已经在谷歌上搜索了教程,结果已经不再相关了。几乎我遇到的每一个教程都在解释TCP,就好像我已经知道它一样,或者它们介绍了一些术语,但从不解释它们。几个月后,我完全没有进步。有什么帮助吗?

注意:我不是初学者,我有编写程序的经验。只是TCP教程太烂了。

需要c#服务器/客户端风格程序的帮助

您可能使用错误的关键字进行搜索。关键字是sockets。TCP/IP编程API被称为套接字,在几乎所有的平台上,包括。net。

try codeproject.com

他们有很多关于TCP/UDP通信(以及其他事情)的教程和非常好的代码示例。

我认为很难找到专门的TCP和UDP教程,因为它们是特定的协议(尽管非常频繁使用),微软正试图抽象所有这些概念,以便您的应用程序不依赖于底层技术。

现在,你会被建议使用Windows通信基础(WCF);你可以从MSDN或初学者指南中获得很多资源。

顺便说一下,学习 TCP不能通过教程来完成,而是通过像本书这样专注于网络的书来完成。如果你这样做,你也会了解为什么UDP不"糟糕"…

UDP是另一种野兽。

然而,我发现这是一个非常有用的起点:TCP/IP教程

我在我的博客上写了一些基于。net的TCP/IP文章。

它们不是教程;相反,它们是一些关于常见错误的文章。我建议您在理解教程之后再阅读它们。我还在参考资料部分列出了几本优秀的TCP/IP书籍。

没有c#教程的原因是不需要它。你基本上会问:"有没有一门课程告诉我,当我开奔驰的时候,街道上的规则是怎样的"。提示:这里有n条街道的驾驶规则,还有奔驰车的使用手册。

或者:有关于IP协议的书,然后有。net文档如何。net实现它。如果你想成为编程领域的大三学生,那么最好习惯单独学习抽象概念,不要指望完整的"如何做"。对于每一个简单的步骤

现在,TCP/UDP是完全独立的项目。它们都是对TCP的扩展,并且有非常不同的用途。说"udp糟透了";我对很多程序都很无知,我知道这些程序永远不会与TCP一起工作,并且需要UDP的快速和简单的数据分发(与TCP相反,它也支持多播)。这些天,我的大多数流量(以gb为单位)外部都是基于UDP的,因为UDP不会在丢失的数据包上卡住,并且可以很容易地使用专门的更高级别(应用程序级别)协议来列出数据包。TCP有一个非常讨厌的习惯,当一个数据包丢失时,它会卡上3分钟。有时候(比如:财务数据,voip)这是不能接受的。大多数程序都喜欢TCP易于处理的特性,但这是有代价的。