【问题标题】:Android implementation for client Socket.io compatible with version 1.0 - Beginner与 1.0 版兼容的客户端 Socket.io 的 Android 实现 - 初学者
【发布时间】:2014-08-20 20:58:23
【问题描述】:

感谢您阅读我的问题。 (请原谅我的英语不好)

我正在尝试使用 socket.io 开发一个简单的 android 原型。 我有一个带有 socket.io 的服务器 node.js(正在工作),现在我正在开发客户端(有问题)。

我已经下载了 zip 文件: https://github.com/nkzawa/socket.io-client.java 在 Eclipse 上,我右键单击我的项目/构建路径/添加外部存档 我选择了下载的文件。 客户端代码:

包 com.example.temp_test;

import java.net.URISyntaxException;



import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        final Socket socket;
        try {
            socket = IO.socket("X.X.X.X:8080");
            socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {

                  @Override
                  public void call(Object... args) {
                    socket.emit("message", "hi");
                    socket.disconnect();
                  }

                }).on("event", new Emitter.Listener() {

                  @Override
                  public void call(Object... args) {}

                }).on(Socket.EVENT_DISCONNECT, new Emitter.Listener() {

                  @Override
                  public void call(Object... args) {}

                });
                socket.connect();
        } catch (URISyntaxException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

当然 X.X.X.X 是一个 IP 地址。 所以现在我有一些红线,因为 eclipse 没有找到 IO 类。

我已经尝试过教程,像这样:Java implementation for client Socket.io compatible with version 1.0(我遇到了一些崩溃),许多其他的太旧或不兼容 1.0。

我只是 socket.io android 的初学者。 因此,如果有人可以帮助我,我只想安装好软件包而不会崩溃,这将非常感激,我将自己完成剩下的工作。

提前致谢

【问题讨论】:

    标签: java android node.js socket.io-1.0


    【解决方案1】:

    我也遇到了同样的问题。我尝试了 gottox,但我们在 nodejs 服务器上也有 v1.0,所以它没有成功。我刚刚发现https://github.com/koush/ion是在Android上实现socketio客户端的一种更简单稳定的方法。我明天试试这个,也许你也可以试试,我们可以分享我们的发现。这提供了 jar 文件,因此至少您不必通过 maven 路径。

    【讨论】:

    • 你确定 jar 与 nodejs 服务器兼容吗?
    • 嘿。我没有时间尝试它,但它应该与 node js 版本 1.0+ 兼容,正如我在 stackoverflow 上的帖子中所读到的那样。如果您正在尝试,请也给我反馈。
    • 嘿。我们决定回到 NodeJs 服务器上的 Socket IO v0.9,因为 v1.0.x 存在许多兼容性问题,我已经使用 github.com/Gottox/socket.io-java-client 库进行了尝试和测试,并且工作正常。
    【解决方案2】:

    我刚刚看到你的帖子,这是一篇旧帖子,但我的回答可能对像我这样的其他初学者有所帮助。

    socket.io.client 需要 engine.io-client 库。源码的url在这里:https://github.com/nkzawa/engine.io-client.java

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 2011-08-25
      • 2021-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多