这两个概念是指同一件事吗?它们有区别吗?
在我看来,它们是不同的,套接字连接是基于tcp连接的。socket包含一个IP地址和端口,它只能连接到另一个socket,但同一机器中的IP地址和端口可以通过TCP连接与许多其他IP地址和端口连接。是这样的吗?
发布于 2011-06-21 03:16:12
TCP/IP是用于通信的协议栈,套接字是(双向)通信中的端点。套接字不一定是基于TCP的,但通常是这样的。术语套接字也经常用于指代操作系统提供的API,该API允许您通过TCP/IP堆栈建立连接,例如,Winsock API为Windows上的TCP/IP堆栈连接提供了API。
当端口由操作系统为您管理时,套接字唯一地映射到应用程序。
进一步阅读:http://en.wikipedia.org/wiki/Internet_socket和http://en.wikipedia.org/wiki/Winsock
发布于 2019-03-05 10:32:35
套接字是OSI Model中的第5层协议(Session),它不依赖于底层,这意味着它可以通过TCP,UDP,MPTCP,...(第4层- Transport layer protocols)。套接字连接用于在节点之间继续交换数据(它在节点之间创建会话),而TCP连接在节点之间进行可靠的数据段传输。
发布于 2019-03-06 06:41:33
套接字被定义为通常在两个进程之间进行通信的应用程序编程接口(API),但不仅限于此。它们涉及应用程序将链接的库函数、系统调用以及操作系统内核的实现部分。最常见的套接字API类型是Berkely套接字和Winsock (Windows)。
根据其提供的访问类型,套接字的其他分类为:
原始套接字:建立TCP connections
套接字的步骤
<
在Linux、Unix和Windows中,有TCP、UDP和Unix域套接字。上面提到的其他类型的套接字是在Linux中实现的,我不知道它们是否存在于Windows中。
TCP连接是一个TCP概念。它连接两个端点,通常是两个进程(或一个进程到它自己),它由(IPAddress1,Port1,IPAddress2,Port2)定义。TCP连接是在TCP三次握手之后建立的。
在TCP中,套接字由两个进程(IPAddress1、Port1、IPAddress2、Port2)之间的TCP连接元素定义。但是,也可以有一个侦听套接字。这是一个允许进程监听通过网络从其他进程建立的连接的套接字。
https://stackoverflow.com/questions/6419811
复制相似问题