2

这显然是一个非常新手的问题,甚至可能没有意义,但最近我一直在研究服务器和客户端应用程序的基础知识,并看到了 Socket 和 TCP 方法。简而言之,这两种方法有什么区别?

4

1 回答 1

8

套接字是一种 API(或更准确地说,是一个库),TCP 是一种协议。

套接字用于通过 UDP 或 TCP 等协议发送数据。两者都运行在 IP(互联网协议)之上。

所以套接字就是你编写程序的对象。TCP 是两台计算机用来通过网络相互通信的语言。

您会看到一些 API 中包含 TCP 一词,或者某些 API 中包含 UDP,这些 API 专门表示使用 TCP 和 UDP 协议。TCP 是“面向连接的”,而 UDP 是“无连接的”。这意味着 TCP 保证数据包将以正确的顺序到达,如果数据包丢失或损坏,将尝试重新发送数据包。UDP 不做这些事情。

因此,指定 TCP 和 UDP 的 API 使用套接字来创建这些连接。

还有一些以 Tcp 开头的 Socket API 和 api,比如 TcpListener。如果这就是您所说的,正如某些人似乎相信的那样,那么 Tcp 类只是包装低级 Socket 类的更高级别的抽象,以使它们更易于使用。

于 2013-08-02T20:52:43.257 回答