剑轩

java|android 使用socket.io-client连接nodejs websocket

电脑版发表于:2019/8/12 12:04


socket.io-client相比SocketIO.jar使用起来更方便一点

 public void connection(final MapAction _action) {
   try {
     IO.Options opts = new IO.Options();
     opts.query = "w_auth_key=" +LoginActivity.socket_auth_key;//传参数
     Socket socket = IO.socket("ip/", opts);
     socket.connect();
     socket.emit("initAllShips");//请求websocket后台方法
     socket.on("setInitShips", new Emitter.Listener() { //监听回调函数
     @Override
     public void call(Object... args) {
     System.out.println("回调了参数:"+args[0]);
    }
    });
  } 
  catch (Exception e1) {
  e1.printStackTrace();
  }
}

mave:

<dependencies>
<dependency>
<groupId>com.github.nkzawa</groupId>
<artifactId>socket.io-client</artifactId>
<version>0.5.0</version>
</dependency>
</dependencies>

连接服务器进行事件监听:

socket = IO.socket("http://localhost");
socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
@Override
public void call(Object... args) {
socket.emit("foo", "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();

This Library uses org.json to parse and compose JSON strings:

// Sending an object
JSONObject obj = new JSONObject();
obj.put("hello", "server");
obj.put("binary", new byte[42]);
socket.emit("foo", obj);
// Receiving an object
socket.on("foo", new Emitter.Listener() {
@Override
public void call(Object... args) {
JSONObject obj = (JSONObject)args[0];
}
});

使用:

IO.Options opts = new IO.Options();
opts.forceNew = true;
opts.query = "auth_token=" + authToken;
Socket socket = IO.socket("http://localhost", opts);



少侠,我看你气度不凡天赋异禀,这么帅,来了就给关注一波呗




关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢