2017-11-06 20 views
2

新しいAndroidベースのクライアントアプリケーションでNodeJS + SocketIOサーバーアプリケーションを活用しようとしています。現在、AndroidのWebsocketにokhttp3を使用しています。私はsocket.ioでWebSocketを使用したいと思います。Androidのsocket.ioとAndroidのWebソケット

WebSocketでこの種のライブラリ作業をSocketIOに対して行ったことがありますか?だから私を助けてください。

答えて

2

ちょうどあなたのAndroid build.gradleファイルに次の依存関係を追加します。それは完全に0.8.3バージョンでのNode.js + Socket.io不利に働く

compile('io.socket:socket.io-client:x.x.x') { //replace x.x.x by 0.8.3 or newer version 
    exclude group: 'org.json', module: 'json' 
} 

ソケットsingletonクラス:

public class Socket { 
    private static final String TAG = Socket.class.getSimpleName(); 
    private static final String SOCKET_URI = "your_domain"; 
    private static final String SOCKET_PATH = "/your_path"; 
    private static final String[] TRANSPORTS = { 
     "websocket" 
    }; 
    private static io.socket.client.Socket instance; 

    /** 
    * @return socket instance 
    */ 
    public static io.socket.client.Socket getInstance() { 
     if (instance == null) { 
      try { 
       final IO.Options options = new IO.Options(); 
       options.path = SOCKET_PATH; 
       options.transports = TRANSPORTS; 
       instance = IO.socket(SOCKET_URI, options); 
      } catch (final URISyntaxException e) { 
       Log.e(TAG, e.toString()); 
      } 
     } 
     return instance; 
    } 
} 

基本的な使い方、onConnectイベント:詳細情報については

Socket socket = Socket.getInstance(); 

private Emitter.Listener onConnect = new Emitter.Listener() { 
    @Override 
    public void call(final Object... args) { 
     //Socket on connect callback 
    } 
}; 
socket.on("connect", onConnect); 
socket.connect(); 

、訪問の開発者のGithub page

+0

こんにちは@AlexTaですが、Androidのsocket.ioを使ったWebSocketの例はありますか?ありがとう。 –

+0

@SumitPansuriya私は自分の答えを更新しました。 – AlexTa