我可以使用socket.io进行简单的交易吗?

时间:2017-01-09 06:45:37

标签: angularjs http socket.io

简单交易意味着在我的网站上我有8个HTML forms,其中有10到15个输入字段,有些forms也有文件上传选项。

我在客户端使用Angular js,在服务器端使用Express js。在Angular中,我使用Angular Resource进行HTTP操作。这很好,现在我想使用带有角度js的socket.io并想要通过socket.io替换Angular资源。

我见过一些例子,其中socket.io用于即时消息或某些特定任务不用于表单数据提交等等。但我的好奇心是每个人都想要速度,如果我使用socket.io,我可以更快地完成操作。

我在思考正确的方向吗?

感谢。

1 个答案:

答案 0 :(得分:1)

  

我是否正确思考方向?

不,不是真的。

  

但我的好奇心是每个人都想要速度,如果我使用socket.io,我可以更快地完成操作。

目前尚不清楚为什么你认为socket.io会比为表单输入做一个HTTP帖子更快。可能没有明显的差异,最终用户肯定不会注意到。如果你在相对较短的时间内从同一个客户端到相同的服务器中进行了大量的这些,那么使用socket.io连接可能更有意义,以避免设置每个http连接的一点开销但是如果你只是从每个客户端做了一些,这种差异在很大程度上是无关紧要的,维护与每个客户端的单独socket.io连接的额外开销(即使客户端什么也不做)是相反方向的权衡

互联网上数以万计的网站使用HTTP帖子将表单数据发送到他们的服务器。有用。它相对有效。 Expressjs专为轻松处理而设计。你没有理由为什么要用别的东西替换它。

您当然可以使用socket.io进行表单提交。使用socket.io,您只需将表单数据打包到您选择的对象中并发送该对象。 socket.io会将对象转换为JSON,发送JSON,然后服务器中socket.io的接收端将自动将JSON转换回服务器端Javascript对象,您将获得所有表单数据。所以,它可以在socket.io中运行得很好 - 只是不清楚为什么你认为这比仅向你的Expressjs服务器发送HTTP帖子更好。