1

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

我正在尝试使用 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;
    }

}

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

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

我只是socket.io android的初学者。因此,如果有人可以帮助我,我只想要安装好软件包而不会崩溃的方法,那将非常感激,我将自己做剩下的事情。

提前致谢

4

2 回答 2

1

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

于 2014-08-22T15:36:46.047 回答
0

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

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

于 2015-07-20T12:27:14.603 回答