Socket.IO 1.0 Client for Javaの紹介

Socket.IO 1.0 Client for Javaの紹介

Socket.IO Meetup in Tokyo

6aea7f3a669da60c1a5744d8b22bd6e6?s=128

Naoyuki Kanezawa

July 03, 2014
Tweet

Transcript

  1. Socket.IO 1.0 Client for Javaの紹介 Socket.IO Meetup in Tokyo

  2. About Me @nkzawa • フロントエンド・エンジニア • Javaプログラマではありません ... • I

    ♥ Node.JS and Socket.IO
  3. socket.io-client.java

  4. socket.io-client.java • Socket.IO v1.0 対応のJava client • Node clientをJavaへ移植 •

    Android support github.com/nkzawa/socket.io-client.java
  5. Over a year ago ... Socket.IO 1.0のリリース前から存在する

  6. Motivation • Socket.IO 1.0のアップデートで、既存clientライ ブラリが使用できなくなった。 • Node clientとのより高い互換性のため。

  7. Full featured • Upgrade transports • Sending binary data •

    Options • Auto reconnection … Node clientの全機能をサポート
  8. Similar Interface // Node client var socket = io(“http://localhost”); //

    Java client Socket socket = IO.socket(“http://localhost”);
  9. Similar Interface // Node client socket.emit(“myevent”, “hi”); // Java client

    socket.emit(“myevent”, “hi”);
  10. Similar Interface // Node client socket.on(“myevent”, function() {}); // Java

    client socket.on(“myevent”, new Emitter.Listener() { @Override public void call(Object… args) {} });
  11. Architecture • emitter.java (EventEmitter) • engine.io-client.java • socket.io-client.java 構成や中のロジックがNode clientと同じ

  12. Architecture • 本家Node clientの新機能やBug Fixの反映が容易。 • Java clientで行った修正をNode clientにfeedbackできる。 •

    Node clientと同程度にstable。 Node ⇔ Java
  13. Single Threaded 非同期以外の全ての処理が一つのスレッドで実行される。 All non-background processes run on a particular

    thread. • No synchronized keyword • Simple and robust • マルチスレッドの厄介な問題を避けることができるので、安 定して動作する。
  14. Released on Maven Central

  15. thanks <3