我一直想做实时聊天。我几年前就用PHP+ AJAX +Mysql做过,结果服务器坏了。然后我尝试用Flash+一个文本文件。我放弃了,10年没试过了。但最近我听说了webhook和websockets。这两种方法似乎都可以做到这一点,但我真的不太明白其中的区别。有人能解释吗?谢谢你!
gr8qqesn1#
Webhooks用于服务器到服务器的通信。它们的工作原理是一个服务器告诉另一个服务器,当发生什么事情时,它希望将数据发送到某个URL。This article讨论了webhook在流行服务中的一些用法。This organization讨论了很多关于在RESTful API上下文中使用它们的内容。
Websockets(通常)用于服务器到浏览器的通信。服务器托管一个WebSocket服务器,客户端可以打开到该服务器的连接。这一点现在很流行,主要是因为它比以前的解决问题的方法(如long-polling/COMET)更快,占用资源更少。它是possible to connect 2 servers using websockets,但这通常不是它们的用途。
即使其中一个(专门)是服务器-服务器,另一个(主要)是浏览器-服务器,这些技术经常在相同的地方讨论,几乎就像它们在解决相同的问题。如果你把链条往上看,你会发现它们都解决了“真实的”通信的问题,但是***它们以非常不同的方式解决了这个问题的不同方面***。一种可能存在直接比较的情况是,如果您正在构建一个将由第三方服务器使用的API。在这种情况下,您可以提供 webhook API 或 WebSocket API。这两种API都允许第三方快速获得更新:
kadbb4592#
下面是一些关于在webhook和websockets之间进行选择的附加信息。通过websockets进行服务器到服务器的通信已经成为新一代聊天机器人应用的流行。现在,许多聊天机器人通过websockets运行,提供了一个主要的优势,即不需要为内部的、私有的机器人提供面向公众的URL。在这种环境下,下面是一些关于何时考虑使用webhook与websockets的指导方针。
网络套接字
iklwldmw3#
在webhook中,我们有客户端和webhook api提供者。客户端通常会做一次注册。在这个注册中,客户端定义了客户端感兴趣的事件和webhook提供者发送更新的回调url。每当有事件更新时,webhook提供者会向url发送包含相关信息的post请求。
在WebSocket中,你有客户端和服务器。客户端向服务器发送一个握手http请求。如果服务器同意使用websocket,那么客户端和服务器将它们的通信升级到一个长期的tcp连接。通过这个连接,客户端和服务器都可以双向通信。一个常见的用例是聊天应用程序。
3条答案
按热度按时间gr8qqesn1#
网钩
Webhooks用于服务器到服务器的通信。它们的工作原理是一个服务器告诉另一个服务器,当发生什么事情时,它希望将数据发送到某个URL。
This article讨论了webhook在流行服务中的一些用法。This organization讨论了很多关于在RESTful API上下文中使用它们的内容。
Web套接字
Websockets(通常)用于服务器到浏览器的通信。服务器托管一个WebSocket服务器,客户端可以打开到该服务器的连接。这一点现在很流行,主要是因为它比以前的解决问题的方法(如long-polling/COMET)更快,占用资源更少。
它是possible to connect 2 servers using websockets,但这通常不是它们的用途。
困惑#
即使其中一个(专门)是服务器-服务器,另一个(主要)是浏览器-服务器,这些技术经常在相同的地方讨论,几乎就像它们在解决相同的问题。如果你把链条往上看,你会发现它们都解决了“真实的”通信的问题,但是***它们以非常不同的方式解决了这个问题的不同方面***。
一种可能存在直接比较的情况是,如果您正在构建一个将由第三方服务器使用的API。在这种情况下,您可以提供 webhook API 或 WebSocket API。这两种API都允许第三方快速获得更新:
kadbb4592#
下面是一些关于在webhook和websockets之间进行选择的附加信息。
通过websockets进行服务器到服务器的通信已经成为新一代聊天机器人应用的流行。现在,许多聊天机器人通过websockets运行,提供了一个主要的优势,即不需要为内部的、私有的机器人提供面向公众的URL。在这种环境下,下面是一些关于何时考虑使用webhook与websockets的指导方针。
网络套接字
网钩
iklwldmw3#
网钩
在webhook中,我们有客户端和webhook api提供者。客户端通常会做一次注册。在这个注册中,客户端定义了客户端感兴趣的事件和webhook提供者发送更新的回调url。每当有事件更新时,webhook提供者会向url发送包含相关信息的post请求。
Web套接字
在WebSocket中,你有客户端和服务器。客户端向服务器发送一个握手http请求。如果服务器同意使用websocket,那么客户端和服务器将它们的通信升级到一个长期的tcp连接。通过这个连接,客户端和服务器都可以双向通信。一个常见的用例是聊天应用程序。