我了解界面是一组公开暴露的东西,一个系统可以用来与其他系统进行交互。我正在阅读有关WEBRTC协议的内容,并了解什么是协议,我去了Wikipedia definition。它或多或少地说一个协议是一个规则系统,它允许两个系统进行通信。界面不是一样的吗?也许我不了解其中一个或两个。
答案 0 :(得分:1)
接口定义两个实体如何通信。协议定义了他们应该如何通信以及该通信意味着什么。
这是一个界面:
public interface ICommunicate
{
string SendMessageAndGetResponse(string message);
}
那么一个协议可能是:
发送“你好”,如果您返回“嗨”,则发送“你好吗?”响应将是一个状态。如果您从初始消息中获得了除“ Hi”以外的任何内容,则系统无法正常运行,您必须发送消息“ Reboot”,然后您将获得“ Rebooted!”。如果成功,还有其他失败的原因。
答案 1 :(得分:0)
我认为在某些方面也可以使用“接口”一词(特别是API中的I),但是通常在谈论我们通过网络发送的内容时,常用的词就是协议。
当您深入研究单词的确切定义时,其含义和差异有时可能会破裂。
但是为了避免超精确的语义,API /接口的级别往往要比协议高一些。