替代插座

问题描述:

我读套接字的定义如(学校材料)“为UDP/TCP CONNEXIONS最常用的API”。 这让我很好奇,知道是否有其他选择,但一直未能找到。 我的意思不是额外的抽象层(如RPC或RMI为例),或使用不同的网络协议栈,但使用别的东西fullfills以不同的方式相同作用的东西。替代插座

我可能误解了插座的作用太大了,我会考虑它是适合在会议OSI层,或者也许是一个运输?我对此并不确定。

我不打算使用这些替代品,我的理解插座多么方便的,我只是想知道。

感谢您的关注

+0

可能重复的[Socket编程有什么替代?](http://*.com/questions/474386/what-are-the-alternatives-to-socket-programming) –

+0

我已经检查过这个线程,但 1)它的老,从那时起 2可能的新项目诞生),这是专门针对C#(我不关心 3所使用的语言))好像笔者很满意的附加抽象层。我已经指定我正在寻找**替代品**,而不是添加抽象(我已经想到了)。 感谢您检查:) –

+1

'使用不同的网络堆栈',但这正是它是什么。具有不同实施例的不同网络堆栈TCP和不同的API。没有根本原因必须有'listen'和'bind'功能。 – usr

如果你不打算使用不同的网络协议栈,我想答案是否定的。这背后的原因是套接字与网络堆栈紧密地实现。例如,TCP和UDP都使用套接字来保存未发送的数据和接收到的数据。你绝对可以实现一些API来从这些缓冲区读取数据并将数据写入这些缓冲区。但是我看不出这样做有什么优势,而且这些API实际上是建立在套接字之上的。

+0

不,他们不是。 TLI接口与Sockets接口无关。 Socket接口用于Unix域套接字以及TCP和UDP,因此它不是“紧密耦合”的。 – EJP

+0

我认为A.Grenouilloux正在问一个可以在同一个网络堆栈上运行的替代套接字实现。在Linux系统中,TCP或UDP直接将数据放入套接字缓冲区,所以如果你不改变网络堆栈,你怎么能绕过这个? – user2760751