Emi*_*ily 9 protocols interface network-protocols
我理解接口是一组公开的事物,一个系统可以使用它们与其他系统进行交互。我正在阅读有关 WEBRTC 协议的内容,为了了解什么是协议,我查阅了维基百科定义。它或多或少地表示协议是允许两个系统进行通信的规则系统。这不是和界面一样吗?也许我不理解其中之一或两者。
接口定义两个实体如何通信。协议定义了它们应该如何通信以及通信的含义。
这是一个界面:
public interface ICommunicate
{
string SendMessageAndGetResponse(string message);
}
Run Code Online (Sandbox Code Playgroud)
那么协议可能是:
发送“你好”,如果你回复“嗨”,则发送“你好吗?” 响应将是一个状态。如果您从初始消息中返回除“Hi”以外的任何内容,则系统无法正常运行,您必须发送消息“Reboot”,然后您将收到“Rebooted!” 如果成功,则失败。
我认为在某些方面“接口”这个词也可以用于此目的(特别是 API 中的 I),但通常在谈论我们通过网络发送的内容时,常用词是协议。
当您足够深入地研究单词的确切定义时,有时会发现其含义和差异会有点模糊。
但为了避免超精确的语义,API/接口往往比协议级别更高一些。