C# 为什么要使用TCP客户端和TCP侦听器?

C# 为什么要使用TCP客户端和TCP侦听器?,c#,tcp,C#,Tcp,我正在为微软的考试做一些关于c#中tcp客户端和tcp侦听器的研究。我在互联网上找到了很多关于如何使用它们的信息,但很少有关于为什么我应该使用它们的信息 我发现这是两个应用程序之间通信的一种安全方式,但我不明白为什么我应该使用tcp而不是(例如)在一个应用程序上公开一个方法并从另一个应用程序调用它 有人知道有什么好的网页可以向我解释这一点吗?如果您打算在系统中的应用程序之间进行通信,您可以使用任何进程间通信方法。但是,如果您想让两个应用程序在不同的机器上运行,则需要在IPC之外使用一种机制。这就

我正在为微软的考试做一些关于c#中tcp客户端和tcp侦听器的研究。我在互联网上找到了很多关于如何使用它们的信息,但很少有关于为什么我应该使用它们的信息

我发现这是两个应用程序之间通信的一种安全方式,但我不明白为什么我应该使用tcp而不是(例如)在一个应用程序上公开一个方法并从另一个应用程序调用它

有人知道有什么好的网页可以向我解释这一点吗?

如果您打算在系统中的应用程序之间进行通信,您可以使用任何进程间通信方法。但是,如果您想让两个应用程序在不同的机器上运行,则需要在
IPC
之外使用一种机制。这就是TCP和UDP的用武之地

TCP/UDP是精心设计的协议(规则),用于控制两个应用程序如何连接、交换数据和终止连接。(UDP,没有连接/终止阶段,顺便说一句。)

很有趣。从维基开始


大多数socket编程都是从这个众所周知的页面开始的(虽然是在“C”中)

如果这两个应用程序在不同的机器上运行,你不能只从一台机器上调用另一台机器上的方法。如果你想了解TCP为什么是安全的,请将其与UDP进行比较。简言之,TCP使用“乒乓”验证,而UDP发送数据,而不关心是否接收到数据。如果它们确实是两个应用程序,在不同的进程中运行,那么您将如何实现“在一个应用程序上公开方法并从另一个应用程序调用它”?这是可以做到的;它不一定简单、干净或安全,实际上会在引擎盖下使用TCP套接字。TCP不安全,它只是可靠的(对于可靠的合适定义)。它还具有拥塞控制机制,防止应用程序使链路过载。