我正在尝试编写一个运行在node.js上的node.js服务器,它使用与客户端通信的Socket.io,这是我的android应用程序(java类)。由于我需要一个利用Socket.io (或任何其他有效的websockets)框架的JS服务器和java客户机的组合,所以我发现Gottox/socket-io.-java-client实现似乎可以完成这项工作。
问题:我对套接字编程非常陌生,而且我还在使用Github项目。我尝试遵循项目中提到的简单方法,但遇到了用Eclipse构建错误,特别是与WebSocket.jar和json-org.jar有关的归档问题。
无法解决这个问题,当我遇到一个完全不同的错误时,我尝试将这个项目导入到Android中,我对此非常陌生。
我只想确定我一开始就在处理这个项目。这就是我的客户机类的样子:
package com.example.culami;
import io.socket.IOAcknowledge;
import io.socket.IOCallback;
import io.socket.SocketIO;
import io.socket.SocketIOException;
import org.json.JSONException;
import org.json.JSONObject;
public class AcknowledgeExample implements IOCallback {
private SocketIO socket;
/**
* @param args
*/
/*public static void main(String[] args) {
try {
new AcknowledgeExample();
} catch (Exception e) {
e.printStackTrace();
}
}*/
public AcknowledgeExample() throws Exception
{
socket = new SocketIO();
socket.connect("http://192.168.0.108:3000/", this);
// Sends a string to the server.
socket.send("Hello Server");
// Sends a JSON object to the server.
socket.send(new JSONObject().put("key", "value").put("key2",
"another value"));
// Emits an event to the server.
socket.emit("event", "argument1", "argument2", 13.37);
}
@Override
public void onMessage(JSONObject json, IOAcknowledge ack) {
try {
System.out.println("Server said:" + json.toString(2));
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onMessage(String data, IOAcknowledge ack) {
System.out.println("Server said: " + data);
}
@Override
public void onError(SocketIOException socketIOException) {
System.out.println("an Error occured");
socketIOException.printStackTrace();
}
@Override
public void onDisconnect() {
System.out.println("Connection terminated.");
}
@Override
public void onConnect() {
System.out.println("Connection established");
}
@Override
public void on(String event, IOAcknowledge ack, Object... args) {
System.out.println("Server triggered event '" + event + "'");
}
}我导入了socketio.jar,甚至导入了WebSocket.jar和jsonorg.jar,因为它们似乎也是必需的。任何关于我做错了什么或者我应该如何将这个库集成到我的android项目中的反馈都会受到高度赞赏,因为我已经花费了无数个小时来调试构建问题。
注意:我使用Android、API 21和jdk1.7来运行这个项目。
发布于 2015-06-27 16:44:05
相反,您可以添加
socket.io-client-0.1.0.jar
他的http://mvnrepository.com/artifact/com.github.nkzawa/socket.io-client/0.1.0的链接
https://stackoverflow.com/questions/28953401
复制相似问题