我理解接口是一组公开的内容,供一个系统与其他系统交互使用。我正在阅读有关WEBRTC协议的内容,为了了解协议是什么,我查看了维基百科定义。它大致表示协议是一套规则系统,允许两个系统进行通信。这不就是接口吗?也许我没有理解其中一个或者两个。
我理解接口是一组公开的内容,供一个系统与其他系统交互使用。我正在阅读有关WEBRTC协议的内容,为了了解协议是什么,我查看了维基百科定义。它大致表示协议是一套规则系统,允许两个系统进行通信。这不就是接口吗?也许我没有理解其中一个或者两个。
接口定义了两个实体如何通信。协议定义了它们应该如何通信以及通信的含义。
这里是一个接口:
public interface ICommunicate
{
string SendMessageAndGetResponse(string message);
}
一个协议可能是:
发送"Hello",如果你得到的回复是"Hi",那么发送"How are you?",回复将是一个状态。如果你从初始消息得到的回复不是"Hi",那么该系统就无法正常工作,你必须发送消息 "Reboot",如果成功,你将得到"Rebooted!"的回复,否则得到其他任何东西表示失败。
c = add(a, b);
c = sub(a, b);
c = func("add", a, b);
c = func("sub", a, b);
我认为在某些方面,“接口”这个词也可以用于此(特别是作为API中的I),但通常在谈论我们通过网络发送的内容时,常用的词语是协议。
当你深入到单词的确切定义时,意义和区别有时可能会有些模糊。
但是避免过于精确的语义,API /接口往往比协议更高级一些。