草庐IT

websocket-client

全部标签

javascript - Websocket 帧大小限制

我正在通过websockets发送大量的JSON数据。JSON可能有超过1000个条目。由于帧大小的限制,Websocket协议(protocol)会自动将JSON拆分成帧,这也是没办法的。因为我们无法更改websockets的帧大小。问题:当我尝试使用JSON.parse评估我的JSON时,它给我一个解析错误,这很明显,因为帧不是完整的JSON对象。所有这一切都发生在Websocketonmessage事件回调中。我怎样才能在不同的框架中接收巨大的JSON并且仍然能够解析它?我已尝试在onmessage中连接帧,但错误仍然存​​在。附带问题:如何正确连接损坏的JSON?

javascript - 如何解决 Safari 10.1 错误 "Failed to send WebSocket frame"?

Safari10.1中的WebSocketAPI似乎有它可以缓冲的最大二进制数据量,然后发送的下一条消息收到错误“WebSocket连接到...失败:无法发送WebSocket帧。”Safari随后关闭了代码为1006(CLOSE_ABNORMAL)的连接。WebSockets是supposedtoreportthebufferedAmount-但Safari始终报告0,直到发生错误并关闭连接。我尝试在每条消息之间设置100毫秒的setTimeout,这似乎适用于小数据block的情况,但是当我发送结束JSON消息时它似乎很脆弱并且大数据block仍然会出错,即使有更长的时间延迟。您可

javascript - 对于 WebSocket,onclose 总是在 onerror 之后调用

onerror回调不会立即调用onclose是否可以调用?换句话说,是否有可能得到一个WebSocket错误,该错误与当时正在关闭的连接不一致?如果可能的话,我想测试一下这个案例。我有一个使用node.js和express-ws的模拟后端。后台怎么触发前端的onerror事件回调。 最佳答案 error事件只会在触发close事件之前被触发,至少通过正确实现规范的实现,即你会得到error和close作为一对,或者只是close本身。processforclosingawebsocketconsistsof3steps,如果需要,第

php - 如何理解客户端在服务器中向哪个路由发送了 websocket 消息?

我正在构建一个服务器,在尝试实现websocket协议(protocol)时遇到了一些问题。如问题标题所述,假设我定义了两条路由(/ws1、/ws2),它们公开了多个websocket连接。在握手的情况下,我可以成功地了解发送握手请求的路由。手头的主要问题是,当客户端发送后续的websocket消息时,服务器将如何理解websocket消息发送到哪个端点。阅读后:https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers我知道消息中没有表示路由的字段。以防万一:我在P

php - 谷歌-api-php-客户端 "error": "unauthorized_client"

我们正在尝试构建一项服务,以在我们的gsuite域中导出googledrive文件。我们正在使用https://github.com/google/google-api-php-client我们创建了一个服务用户,下载并保存了用户凭证,并授予服务用户全域访问权限。下面是最简单的例子(就像我发现的每个文档一样):putenv('GOOGLE_APPLICATION_CREDENTIALS='/service-account-credentials.json');$client=new\Google_Client();$client->setAuthConfig('service-acco

Elasticsearch教程— Java API Client[8.6] 开发入门2(官方原版)

以下部分提供了有关Elasticsearch最常用和一些不常用的功能的教程。有关完整参考,请参阅Elasticsearch文档,特别是RESTAPI部分。JavaAPI客户端使用JavaAPI约定,严格遵循此处描述的JSON结构。如果你是Elasticsearch的新手,请务必阅读Elasticsearch的快速入门,它提供了一个很好的介绍。为单个文档编制索引批量:为多个文档编制索引按ID读取文档搜索文档聚合一、为单个文档编制索引JavaAPI客户端提供了多种为数据编制索引的方法:您可以提供将自动映射到JSON的应用程序对象,也可以提供原始JSON数据。使用应用程序对象更适合具有明确定义的域模

php - stream_socket_client 超时

我正在尝试调试PHP函数stream_socket_client但我真的不知道该怎么做。这是我遇到问题的代码:$this->socket=@stream_socket_client($remote,$errno,$errstr,$this->request->getConfig('connect_timeout'),STREAM_CLIENT_CONNECT,$context);if(!$this->socket){thrownewHTTP_Request2_ConnectionException("Unabletoconnectto{$remote}.Error:{$errstr}"

springboot整合WebSocket

springboot整合WebSocketWebSocket通信过程客户端构建一个websocket实例,并且为它绑定一个需要连接到的服务器地址,当客户端连接服务端的候,会向服务端发送一个httpget报文,告诉服务端需要将通信协议切换到websocket,服务端收到http请求后将通信协议切换到websocket,同时发给客户端一个响应报文,返回的状态码为101,表示同意客户端协议转请求,并转换为websocket协议。以上过程都是利用http通信完成的,称之为websocket协议握手(websocketProtocolhandshake),经过握手之后,客户端和服务端就建立了websoc

php - 如何从Google OAuth2 PHP Client获取用户国家和时区信息

我正在使用PHPGoogleAPIClientLibrary使用OAuth2从Google帐户检索用户信息。然而,尽管Google'sdocumentationstates,我似乎无法访问用户的国家/地区或时区信息,即使token已成功返回并且所有其他信息都可以从userinfo.profile范围。我使用了int继承人库提供的示例代码here如果我在该文件的第49行var_dump($user)得到以下输出(出于隐私考虑进行了编辑):array(10){["id"]=>string(21)"123"/*Redacted*/["email"]=>string(13)"XXX@gmail

php - websocket报错413,如何处理?

我一直在开发一个websocket服务器,直到最近我遇到了413Entitytoolarge错误。我在我的服务器上使用ratchetphp。有没有人遇到过这个?有什么我可以做的,以免发生这种情况吗?如果我无能为力,请帮助我重新创建此错误,我目前解决此问题的解决方案是清除浏览器的缓存。我只是通过检查使用chrome的开发人员工具上的网络选项卡才发现此错误,但是如果客户端在不了解开发人员工具的情况下连接到服务器,我如何让他们知道他们需要清除缓存? 最佳答案 在阅读ratchetphp库中的代码数小时后,我发现http连接升级header