Interface 协议和接口之间的区别是什么?

Interface 协议和接口之间的区别是什么?,interface,protocols,network-protocols,Interface,Protocols,Network Protocols,我知道接口是一组公开的东西,一个系统可以用来与其他系统交互。我正在阅读WEBRTC协议,为了理解协议是什么,我去了。它或多或少地说,协议是允许两个系统通信的规则系统。这和界面不一样吗?也许我对其中一个或两个都不了解。我认为在某些方面,“接口”一词也可以用于此(特别是作为API中的I),但一般来说,当谈到我们通过线路发送的内容时,常用的词是协议 当你深入研究单词的精确定义时,其含义和区别有时会有点分崩离析 但为了避免超精确的语义,API/接口往往比协议更高级。接口定义了两个实体如何通信。协议定义了

我知道接口是一组公开的东西,一个系统可以用来与其他系统交互。我正在阅读WEBRTC协议,为了理解协议是什么,我去了。它或多或少地说,协议是允许两个系统通信的规则系统。这和界面不一样吗?也许我对其中一个或两个都不了解。

我认为在某些方面,“接口”一词也可以用于此(特别是作为API中的I),但一般来说,当谈到我们通过线路发送的内容时,常用的词是协议

当你深入研究单词的精确定义时,其含义和区别有时会有点分崩离析


但为了避免超精确的语义,API/接口往往比协议更高级。

接口定义了两个实体如何通信。协议定义了他们应该如何通信以及通信的含义

以下是一个界面:

public interface ICommunicate
{
    string SendMessageAndGetResponse(string message);
}
那么,协议可能是:

发送“你好”,如果你回复“你好”,然后发送“你好吗?”然后回复状态。如果从初始消息返回除“Hi”之外的任何信息,则系统无法正常运行,必须发送消息“Reboot”,如果成功,则返回“Rebooted!”,如果失败,则返回任何其他信息


因此,协议似乎更像一个脚本,而不是像接口这样的定义。