比如JAVA客户端连接,或者通过URL连接?
tcp
解决了,JAVA可以连接socket.io服务端的。
@330216851 最好能把经验分享给大家,避免他人再走弯路。
嗯,楼上说的是
<dependencies> <dependency> <groupId>com.github.nkzawa</groupId> <artifactId>socket.io-client</artifactId> <version>0.3.0</version> </dependency> </dependencies> Or to install it manually, please refer dependencies to pom.xml.
Add it as a gradle dependency for Android Studio, in build.gradle:
compile 'com.github.nkzawa:socket.io-client:0.3.0’ Usage
Socket.IO-client.java has almost the same api and features with the original JS client. You use IO#socket to initialize Socket:
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]; } }); Options are supplied as follows:
IO.Options opts = new IO.Options(); opts.forceNew = true; opts.reconnection = false;
socket = IO.socket(“http://localhost”, opts); You can get a callback with Ack when the server received a message:
socket.emit(“foo”, “woot”, new Ack() { @Override public void call(Object… args) {} }); Use custom SSL settings:
// default SSLContext for all sockets IO.setDefaultSSLContext(mySSLContext);
// set as an option opts = new IO.Options(); opts.sslContext = mySSLContext; socket = IO.socket(“https://localhost”, opts);