问题标签 [em-websocket-client]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - EventMachine::WebSocketClient.connect 导致 onclose 在服务器端触发
我的 Rails 应用程序包含三个部分:
- 侦听 HTML5 Web 套接字 ( em-websocket )的部分
- 一段连接到它们的 JavaScript
- 还有一部分任务是从同一个 Web 应用程序(em-websocket-client)内部连接到这些套接字(是的,我正在尝试在 Phusion Passenger 环境中做一些 IPC)
JavaScript 代码连接良好,Web 套接字服务器对这样的客户端很满意,但是当我从em-websocket-client
一个奇怪的事情连接时发生了:onclose
正在调用处理程序而不调用onopen
,而且 - 它被称为已由 Web 浏览器打开的套接字,不是em-websocket-client
。
相同的em-websocket-client
代码,当通过命令行在单独的 Ruby 脚本中执行时,按计划工作。这是em-websocket-client
代码示例:
onclose
一旦EventMachine::WebSocketClient.connect
在客户端执行,服务器端就会被调用。它甚至没有@conn.disconnect
来电。
我可以推测的另一件事是,这种行为是由于EventMachine
服务器和客户端在同一个 Rails 应用程序中使用了相同的机制。
java - android websocket websocketnotconnected错误
我在我的 android 应用程序中使用了 Java-WebSocket ( https://github.com/Davidiusdadi/Java-WebSocket ) 客户端。
我正在录制音频文件并使用 websocketclient 和 Draft 17 将其发送到服务器。
我的音频文件是 500 kb = 500000 字节。我将其拆分为 1000 字节的字符串。
所以我有500个字符串。我在异步任务的循环中将其作为 Json 发送到服务器。
在我调用 websocketclient.send 时发送了几条消息后,我收到一个异常,说 websocketnotconnected 并且还没有触发 onclose 或 onerror。
有时它可以正常工作。
是否有适用于上述任务的这个或任何其他 android websocket 库的解决方案。
ruby - 带有 em-websocket 的 Ruby 广告牌
我尝试构建一个广告牌,用于在服务器使用 sinatra 启动的浏览器中显示消息。在服务器代码中最明显的事情是这样的:
服务器:
索引.haml
应用程序.js
但是文本在最后一次睡眠后立即显示在浏览器中,因此只有最后一行可见。建立连接后,我似乎无法从服务器端发送内容,只能作为对传入消息的反应。
因此,我使用如下所示的 Ruby 客户端进行了尝试,但每次发送文本时都必须建立新连接,将循环放在 .callback 或 .stream 方法中不起作用。
我相信必须有更好的方法来实现这一点,请问哪种方式?
java - Jetty Websocket Client WebSocketAdapter - 字节数组内存使用问题
我正在使用最新的 Jetty websocket 客户端,并且我有一个简单的客户端应用程序来接收来自服务器的视频流。该流使用大约 1 MB 的二进制块作为服务器推送发送。作为客户端套接字,我只是扩展了 Jetty 的 WebSocketAdapter 类,我的套接字中接收服务器推送的相关部分是:
由于客户端代码用于负载测试,因此我不会进一步处理数据,我只是希望数据会被代码丢弃。此外,为了模拟几个客户端,我创建了几个 WebSocketClient 实例和关联的套接字。
运行客户端时,java进程内存使用量不断增加,最终导致OutOfMemory的情况。我试图分析堆转储,我看到以下内容:
所以我的问题是,为什么字节数组使用的内存没有清理干净?内存消耗只是不断增长和无限增长。我可以做些什么来自己清理代码中的数组吗?
java - 使用 WebSocketClient 的简单聊天应用程序
我正在尝试学习如何通过 android 中的 websocket 建立连接。我正在尝试使用 websocket 客户端向服务器发送消息,然后尝试在屏幕上查看它。
我可以启动应用程序,但是当我键入消息然后单击发送按钮时,我收到以下错误:org.java_websocket.exceptions.WebsocketNotConnectedException
这是我的 MainActivity 类:
这是 WebClient 类:
公共类 WebClient 扩展 WebSocketClient {
这是单击发送按钮后的 logcat:
--------- 崩溃开始 10-30 20:09:50.830 2682-2682/example.com.chatapp E/AndroidRuntime: FATAL EXCEPTION: main Process: example.com.chatapp, PID: 2682 org. java_websocket.exceptions.WebsocketNotConnectedException at org.java_websocket.WebSocketImpl.send(WebSocketImpl.java:566) at org.java_websocket.WebSocketImpl.send(WebSocketImpl.java:543) at org.java_websocket.client.WebSocketClient.send(WebSocketClient.java: 171) 在 ziad.example.com.chatapp.MainActivity$1.onClick(MainActivity.java:60) 在 android.view.View.performClick(View.java:5637) 在 android.view.View$PerformClick.run(View. java:22429) 在 android.os.Handler.handleCallback(Handler.java:751) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:154) 在android.app.ActivityThread.main(ActivityThread.java:6119) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 在 com.android.internal.os.ZygoteInit.main( ZygoteInit.java:776)
python - 是否有可能在 time.sleep\wait 期间错过 WebSocket 事件?
在同步运行的程序中,是否有可能在 time.sleep \ wait 函数或程序加载期间错过 websocket 事件?
例子:
- 服务器发送事件 #1 触发了一些繁重的处理。为了这个例子,我们假设它是一个简单的“等待\睡眠”函数,持续 10 秒。
- 在此期间,服务器发送事件 #2。
客户会在 10 秒后收到此事件 #2 吗?服务器可以查看客户端是否准备好接收下一个事件吗?
我正在使用 python - 和 websocket-client 从 websocket 服务器接收消息。
android - 在应用程序生命周期Android上保持套接字连接打开
我想在我的应用程序处于前台时打开一个套接字。我从这里使用 JAVA Api WebSocketClient:
所以我创建了一个管理器,它使用 onOpen、onClose、onMessage 和 onError 回调实现 WebSocketClient 接口,如下所示。我还有一个 pingPongTimer,所以我可以每隔 10 秒检查一次连接。该过程的周期是在应用程序生命周期中绑定的,所以当应用程序进入前台时我调用connect and startPingPongTimer
方法,而当它进入后台时调用kill and stopPingPongTimer
方法。WSS url 是来自 Amazon Web Services 的 webSocket。我的问题是,有时我调用 connect 方法,但我从来没有得到 onOpen 回调。我有时也会在断开连接并重新连接后收到 onClose 回调,因此我无法处理当前连接,因为我从前一个连接中获得了 onClose。
用于我的目的的最佳方式或库是什么,或者我怎样才能使它更可靠、高效和稳定?谢谢
javascript - Socket.Io 事件多次命中
index.js
'recieve_message' 事件被多次点击,但它必须点击一次,而点击按钮发送功能工作正常,但在接收消息时它被多次点击不知道为什么,因为我是 socket.io 的新手,可能是我在做小错误。任何帮助将不胜感激
python - Websocket客户端未在python中连接
我尝试了一个从 binance 收集信息的代码,但是当我运行它时,连接没有打开,输出只显示“关闭的连接”。这是因为 Visual Studio 代码 2 的任何防火墙还是我应该添加任何代码?请高手指点,谢谢!
我的代码如下所示
我的输出只是关闭连接,如下所示。
python - websocket-client 不适用于 Python3/VSCode
我正在尝试在 Windows 10 上使用带有 VSCode 的 Python 3.10 中的 websocket-client 包。我能够在带有 Python 3.10.1 的 Ubuntu 20.04 VM 上运行完全相同的代码
这是我的 websocket 客户端版本:
我得到错误:
这是代码:(这不是我正在处理的,但我尝试了示例代码,但它仍然没有工作)