相关疑难解决方法(0)

使用Websockets代替RESTful HTTP的缺陷是什么?

我目前正在开发一个项目,要求客户端请求大量工作并将其发送到服务器.然后,服务器将作业分开并响应一组URL,以便客户端进行GET调用并回送数据.我是该项目的新手,我目前正在使用Spring websockets来提高效率.而不是客户端不断ping服务器以查看它是否已准备好返回结果,websocket现在只需直接联系客户端万岁!

让websockets从头到尾管理整个过程是不是一个坏主意?我正在使用带有Spring websockets的STOMP,是否仍然存在抛弃REST的主要问题?

rest client-server http websocket spring-websocket

57
推荐指数
2
解决办法
2万
查看次数

推送通知| websocket是强制性的吗?

我在服务器端有PHP,在客户端有HTML和javascript.

我正在创建一个应用程序,其中一个利益相关者键入一个实时广播给一个组的多个接收者的消息.

我在谷歌做了一些研究,我明白我需要使用WebSockets或Comet进行实时推送通知.是否必须使用WebSocket或Comet向用户发送群发通知?

我的理解是否正确?任何引用都以?开头?

html javascript php push-notification websocket

27
推荐指数
1
解决办法
2万
查看次数

WebSocket和普通套接字通信有什么区别?

根据维基百科,HTTP和WebSocket之间的唯一关系是以a形式的额外握手Upgrade HTTP request.之后,似乎浏览器和HTTP服务器将通过普通套接字在旧的C/S范例中进行通信.

所以我的问题是:

  • WebSocket只是一个普通的套接字通信吗?
  • 它被称为WebSocket,因为通信目标服务器的80端口?即port 80只是同义词web.
  • 80端口在服务器端,客户端使用哪些端口?
  • 如果它就像浏览器和服务器之间的普通套接字通信一样,为什么直到最近才在浏览器中实现WebSocket呢?它似乎只是对B/S范例的一点C/S扩展.

ADD 1(9:46 AM 5/23/2017)

今天,我重温了@ jfriend00的优秀答案.让我们总结一下我的理解.

  • Socket只是一个端到端的通信通道.它不会对可以在其上使用的通信协议施加限制.
  • 像HTTP一样,webSocket只是另一种独立的通信协议.虽然名字中的单词socket一开始让我很困惑.
  • 如果我们可以通过HTTP进行通信,webSocket利用与HTTP相同的端口号,我们可以确保可以进行webSocket通信.因为频道通过,我们可以选择最合适的方式来沟通.

sockets websocket web

26
推荐指数
2
解决办法
1万
查看次数

WebSockets服务器架构如何工作?

我正在努力更好地理解服务器端架构如何为WebSockets工作,目标是在嵌入式应用程序中实现它.似乎这里有3种不同的服务器端软件组件:1)服务于静态HTTP页面和处理升级请求的Web服务器,2)用于处理WebSockets通信"细节"的WebSockets库,如libwebsockets ,3)我的自定义应用程序,以实际弄清楚如何处理传入的数据.这些如何组合在一起?是否有一个单独的Web服务器和WebSocket处理部分,即WebSocket服务器/守护程序?

我的应用程序如何与Web服务器和/或WebSockets库通信以发送/接收数据?例如,使用CGI,Web服务器使用环境变量将信息发送到自定义应用程序,使用stdout接收响应.这里的等效通信系统是什么?或者您通常将WebSocket库链接到客户应用程序中?但那么如何与Web服务器通信到WebSocket库+自定义应用程序呢?或者所有3个组合成一个组件?

这就是我要问的原因.我在具有有限内存的Blackfin处理器上的uClinux/no MMU平台上使用boa Web服务器.boa中没有本机WebSocket支持,只有CGI.我试图找出如何添加WebSockets支持.我更喜欢使用编译的解决方案,而不是像JavaScript,Python或PHP这样的解释.我当前的应用程序使用CGI的长轮询,这不能为计划的增强提供足够的性能.

websocket libwebsockets

17
推荐指数
1
解决办法
1万
查看次数