感谢您阅读我的问题。 (请为我的坏英语道歉)
我正在尝试使用socket.io开发一个简单的android原型。 我有一个服务器node.js与socket.io(正在工作),现在我正在开发客户端(有问题)。
我已经下载了拉链: https://github.com/nkzawa/socket.io-client.java 在Eclipse上,我右键单击了我的项目/构建路径/添加外部存档 我选择了下载的文件。 客户端代码:
package 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的初学者。 因此,如果有人可以帮助我,我只想要安装好包而不会崩溃的方式,这将非常感激,我将自己完成其余的工作。
提前致谢
答案 0 :(得分:1)
我也在经历同样的问题。我尝试过gottox但我们在nodejs服务器上也有v1.0,所以它没有成功。我刚刚发现https://github.com/koush/ion是一种在Android上实现socketio客户端的更简单和稳定的方法。我明天会尝试这个,也许你也可以尝试,我们可以分享我们的发现。这提供了jar文件,所以至少你不必经历maven路径。
答案 1 :(得分:0)
我刚看到你的帖子,这是一篇很老的帖子,但我的回答可能对像我这样的其他初学者有帮助。
socket.io.client需要engine.io-client库。源代码的网址位于:https://github.com/nkzawa/engine.io-client.java