Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rest 套接字可以替换HTTP请求吗?(套接字与http)_Rest_Sockets_Xmlhttprequest_Httprequest_Coding Efficiency - Fatal编程技术网

Rest 套接字可以替换HTTP请求吗?(套接字与http)

Rest 套接字可以替换HTTP请求吗?(套接字与http),rest,sockets,xmlhttprequest,httprequest,coding-efficiency,Rest,Sockets,Xmlhttprequest,Httprequest,Coding Efficiency,创建一个用户,向数据库中的集合添加一些记录,更新一些内容,等等 所有这些我们都经常使用针对RESTAPI的HTTP请求 考虑将事件总线作为服务器而不是RESTAPI 在该方法中,create user将是一个事件名:“CreateUser”,而不是restapi端点:POST/users 为了反映在事件总线中执行的任何操作,它将重新发出一个后续事件,告知任何需要了解的机构该事件已完成 例如,如果有人查看vehicles collection,而另一个用户只需编辑其中一列或添加新的vehicles

创建一个用户,向数据库中的集合添加一些记录,更新一些内容,等等

所有这些我们都经常使用针对RESTAPI的HTTP请求

考虑将事件总线作为服务器而不是RESTAPI

在该方法中,create user将是一个事件名:“CreateUser”,而不是restapi端点:POST/users

为了反映在事件总线中执行的任何操作,它将重新发出一个后续事件,告知任何需要了解的机构该事件已完成

例如,如果有人查看vehicles collection,而另一个用户只需编辑其中一列或添加新的vehicles实例,它将立即反映给在线查看它的用户


我的问题是,是否有像我上面提到的态度,是否有一些正式名称,是否是一种良好的做法,是否知道有人经常使用它、框架或其他东西。socket.io服务器在高工作负载下是否可以处理和表现得像http服务器一样?

您可以使用WebSocket来实现这一点;它们在客户端和服务器之间提供了一个双向通道,以便跨服务器发送消息。您必须自己捕获并解析每一端的消息,因为在它们之上没有附加的协议

他们不持有状态,所以不知道谁在看什么,或者谁得到了什么。您可以向所有连接的客户端发送相同的更新消息,并将其留给客户端使用或不使用

您必须重新编程您的客户机代码和API端点,因为这是一种不同的方式,而且它还可以执行服务器推送


不过我对框架一无所知,因为我总是在没有框架的情况下使用它们。websocket速度很快,但高工作负载下的服务器行为取决于实现,我只有自己编写的websocket服务器的经验。我认为socket.io的性能可以很容易地通过谷歌搜索到。

您可以使用WebSocket来实现这一点;它们在客户端和服务器之间提供了一个双向通道,以便跨服务器发送消息。您必须自己捕获并解析每一端的消息,因为在它们之上没有附加的协议

他们不持有状态,所以不知道谁在看什么,或者谁得到了什么。您可以向所有连接的客户端发送相同的更新消息,并将其留给客户端使用或不使用

您必须重新编程您的客户机代码和API端点,因为这是一种不同的方式,而且它还可以执行服务器推送

不过我对框架一无所知,因为我总是在没有框架的情况下使用它们。websocket速度很快,但高工作负载下的服务器行为取决于实现,我只有自己编写的websocket服务器的经验。我认为socket.io的性能很容易用谷歌搜索