【问题标题】:Android Java socket communication with Socket.IO使用 Socket.IO 的 Android Java 套接字通信
【发布时间】:2011-05-16 08:30:18
【问题描述】:

我正在编写一个消息应用程序。我的服务器建立在 node.JS 和 socket.io 之上。我的客户端应该是一个 Android 应用程序。但是,我似乎找不到一个像样的库来为我提供 Socket.IO 的 Java 接口(通过 websockets?)。是否存在一些图书馆?还是我必须依靠另一种解决方案(哪个?)?

我找到了这个可可库:https://github.com/fpotter/socketio-cocoa。 Android 有什么替代品吗?

谢谢!

【问题讨论】:

标签: java android sockets node.js websocket


【解决方案1】:

缺少公认的答案。它们是 Java Socket.IO 实现,需要 netty,或者只有 WebSocket 支持。我最终在一个轻量级 WebSocket 客户端之上编写了自己的 Socket.IO 客户端。

https://github.com/koush/AndroidAsync

【讨论】:

  • 嗨,koush,我尝试了你的实现,但不适用于tornadio2 + socket.io v.9。我现在使用github.com/Gottox/socket.io-java-client,它也完全兼容Android。
  • @e_x_p 我也在为我的应用程序使用 Gottox socket.io 库。一切正常,除了执行在断开连接时被阻止。我没有得到任何例外.. 执行只是块..
  • @Krishnabhadra 这可能晚了,但我确实提交了一个问题github.com/Gottox/socket.io-java-client/issues/28。虽然作者仍未修复它,但我在自己的应用程序中修改了代码。
  • 是的,koush 的实现不适用于 v.9,我在服务器上收到此错误:destroying non-socket.io upgrade,在客户端上收到此错误:WebSocket.onError, Exception: java.lang.IllegalArgumentException: Value to parse may not be null. at org.apache.http.message.BasicLineParser.parseStatusLine(BasicLineParser.java:378) at com.codebutler.android_websockets.WebSocketClient.parseStatusLine(WebSocketClient.java:148)
  • 嗨,koush,我找不到在 github 上提问的方法。当通过 web-sockets 的连接失败时,您是否有任何计划(或知道您的项目的一个分支)使用 http 长轮询作为后备?
猜你喜欢
  • 1970-01-01
  • 2016-09-25
  • 2021-06-20
  • 2020-10-23
  • 2011-06-24
  • 2017-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多