问题标签 [androidasync-koush]
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.
java - 如何检查 WebSocket 是否已连接
我使用 KOUSH 库https://github.com/koush/AndroidAsync#can-also-create-web-sockets创建了一个 Websocket 服务类
现在我想检查 Websocket 是否从我的 mainActivity 连接到我的服务器。你知道我怎么检查这个吗?谢谢
android - 如何使用 Koush AndroidAsync 关闭/重试/管理 WebSocket?
我将 Koush 的 AndroidAsync 用于 WebSocket 客户端。我的代码遵循https://github.com/koush/AndroidAsync上的示例并且有效。(下面复制的示例。)
我需要我的应用程序在启动时打开一个 websocket,但是,我需要处理一些问题:
A) 我需要允许用户更改 websocket 服务器的地址。在这种情况下,我需要关闭现有的 websocket(可能已经失败)并打开一个到新服务器的 websocket。
B) 服务器可能已关闭或不可用。在这种情况下,我想将其报告给活动。目前它只是默默地失败了。
所以按照重要性排序:
- 如何关闭 websocket?
- 如何有效地将 websocket 打开到新地址?(我可以重复使用我的 AsyncHttpClient 吗?)
- 如何重试失败或丢失的连接?
- 如何提供连接失败/关闭的通知?
如果这在某处有记录,请告诉我。
来自网站的示例代码复制如下:
android - AndroidAsync:无法设置 websocket 连接
我正在开发一个产品,我们有一组后端服务器,我们在其中建立了 web-socket 连接来传输数据,为此我使用AndroidAsync(V2.1.6)客户端库。这些服务器在不同版本的 tomcat 上运行。
从 android 方面来看,它工作正常,并且 websocket 已经在所有服务器上建立起来,直到今天没有任何问题,但现在我们无法在其中一个服务器上建立连接。
困境是android端和服务器端的代码也没有变化。相同的代码适用于所有服务器,而不适用于这一特定服务器。
经过数小时的挖掘,我们发现连接失败的服务器最近更新了最新的 tomcat 配置和我们没有用于所有其他服务器的相同tomcat 版本(V8.0.23) 。并且其中一位服务器人员通过分析更改日志了解到在 tomcat 中存在一些与 web-socket 相关的更改。
我已尽一切努力探索并摆脱这个问题,但我无法解决这个问题。
尝试在该服务器上使用 AndroidAsync 进行连接时来自服务器的堆栈跟踪:
我希望你明白。任何形式的帮助都会很棒。谢谢。
android - Slack 实时消息传递 websocket
试图在应用程序中实现这一点。Slack RTM 调用 rtm.start 后,我得到 JSON 响应并提取 wss url。之后,按照文档我需要打开 websocket。尝试了两个库
首先给出 TimeoutException,其次 - 使用 i = -1, b = true 进入 onClose 方法(不调用 onError 或 onOpen,请参见下面的代码)。
使用 Java-WebSocket 我已经尝试过这段代码(来自 github 上的示例的标准):
正如我上面所说 - 只有 onClose 被调用。
使用 AndroidAsync 也尝试了示例中的标准代码:
我以前从未在 android 上使用过 websockets,并且无法理解我做错了什么。将感谢您的帮助。
JSON 中的 URL 的类型为
java - koush AndroidAsync 库内容类型无法更改
我想使用 AndroidAsync 库发出 post http 请求,但我无法将内容类型更改为'application/x-www-form-urlencoded'
for request
我不知道该怎么办。
android - Koushik Dutta 在 Android Async 库中设置心跳间隔
我正在使用 com.koushikdutta.async:androidasync:2.1.3 作为 Android SocketIO 客户端库。有没有办法更改库中的默认心跳间隔?
android - 为什么 AndroidAsync 断开连接时间这么长?
我正在使用 AndroidAsync koush 低级网络协议库。我正在使用 WebSocket 连接到服务器。我能够连接、发送/接收消息和断开连接。我的断线时间很长。服务器平均 59 秒内未检测到断开连接。
为了重现问题,我连接 WebSocket,授权,并开始每 10 秒 ping 一次。然后我打开飞行模式,我的网络连接断开了。此时调用了 setClosedCallback 方法。这是我记录此消息的方式:
这是让我知道 WebSocket 已关闭的日志消息:
WebSocket关闭异常:recvfrom失败:ETIMEDOUT(连接超时)
然而,我们的服务器在大约 59 秒内没有收到断开连接消息。我们的服务器正在使用这些库:
- gevent==1.0
- gevent-websocket==0.9.2
- 小绿==0.4.2
有没有办法加快我的速度?是否有某个地方的套接字级别超时,我可以将其设置为较低的值,以便我的服务器人员更快地获得断开连接消息?
android - Android koush/ion post 请求被防火墙阻止
我正在使用 koush/ion 库向我的服务器发送发布请求。它可以使用我的家庭 wifi、我朋友的 wifi、移动数据和除办公室 wifi 以外的其他人的移动数据。
它返回 null ,我一直想知道为什么。我以某种方式设法打印了错误,它表明 WFilter 阻止了我的请求。之后,我让办公室里管理防火墙的 IT 人员查看我的请求日志,然后看到来自 koush/ion 的流式请求导致它被阻止。当他们禁用流过滤器时,我能够使用 koush/ion 再次发送我的帖子请求。
我的问题是,我可以将 ion/koush 中的某些内容添加到我的正常代码中以防止这种情况发生吗?我不确定它是否涉及端口或其他东西,但这是我的简单代码,适用于大多数互联网连接,但在我的办公室除外。
android - 使用 contentType application/json POST 到 Android AsyncHttpServer 将请求正文设置为 null
我有AsyncHttpServer在我的 Android 设备上工作。我有 POST 设置的请求回调方法,如下所示:
服务器在哪里new AsyncHttpServer()
,映射器在哪里new ObjectMapper()
我在以 开头的行有断点List<T>
,我正在尝试使用 cURL 将一些数据发布到服务器,如下所示:
出于某种原因,当我使用Content-Type
设置为application/json
request.getBody()
返回发布时null
,但如果我将内容类型更改为text/plain
body 包含 JSON 数据集和 cURL,正如我所期望的那样。
有谁知道为什么会发生这种情况,我怎样才能让它工作Content-Type: application/json
?
sockets - AndroidAsync TCP - 检测套接字的正确方法不再可用写入?
我想知道在客户端检查使用 AndroidAsync 库打开的 TCP 套接字不再可用的正确方法是什么?这是在(普通 TCP,非 AndroidAsync)服务器未明确启动关闭套接字的情况下(因此未调用 ClosedCallback)。例如,当服务器冷重启时。
看来 DataCallback 只有在服务器发回数据时才可用,不能用于接收错误消息。
在我看来,
也不抛出异常。
所以此时我不确定如何检测套接字不再可用,即使客户端定期向其写入数据。