Socket和Transport之间有什么区别,如果有的话

时间:2016-04-12 14:21:24

标签: php sockets networking network-programming transport

" socket"之间是否存在差异?或者"运输",或者它们是可以互换的。我只是问,因为我看到很多库看起来做同样的事情,但只是在名称函数/方法/属性/类中略有不同。

我的理解是" socket"是一个将服务器/网络设备连接在一起的流和一个" transport"是连接使用的方案(例如,TCP是传输)。

1 个答案:

答案 0 :(得分:1)

  

“套接字”或“传输”之间是否有区别,或者是它们   可互换?

直到现在,我还没有看到transport这个词作为一个单词。我总是在传输中到处读取传输层。我问你要引用的外部引用(并且感到困惑)。即使在Java的网络库中,我也从未听过/读过有关作为独立存在实体的传输(在我有限的经验中)!

  

我只是问,因为我看到很多库看起来都是这样做的   事情,但只是在名称如何略有不同   功能/方法/属性/类。

我认为你因为TLS / SSL而感到困惑。这里TLS是SSL的继承者。您不应该将套接字和传输与此关联起来。 BTW,TLS / SSL是应用层协议。

  

我的理解是“套接字”是连接服务器/网络的流   设备在一起,“传输”是连接使用的方案   (例如,TCP是一种运输工具)。

你的两个陈述都是不正确的(至少首先是肯定的)!套接字不是流; TCP不是传输,而是TCP / IP的传输协议。

简单来说,network socket是跨计算机网络的连接的端点。套接字在内部通常只是整数,它标识要使用的连接。套接字不需要有地址(例如仅用于发送数据),但如果程序将套接字绑定到地址,则套接字可用于接收发送到该地址的数据。

然而,transport layer是Internet协议套件和开放系统互连(OSI)中网络堆栈中协议的分层体系结构中方法的概念划分。最着名的TCP / IP传输协议是传输控制协议(TCP)