Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Socket.IO 1.0 Client for Javaの紹介 Socket.IO Meetup in Tokyo
Slide 2
Slide 2 text
About Me @nkzawa ● フロントエンド・エンジニア ● Javaプログラマではありません ... ● I ♥ Node.JS and Socket.IO
Slide 3
Slide 3 text
socket.io-client.java
Slide 4
Slide 4 text
socket.io-client.java ● Socket.IO v1.0 対応のJava client ● Node clientをJavaへ移植 ● Android support github.com/nkzawa/socket.io-client.java
Slide 5
Slide 5 text
Over a year ago ... Socket.IO 1.0のリリース前から存在する
Slide 6
Slide 6 text
Motivation ● Socket.IO 1.0のアップデートで、既存clientライ ブラリが使用できなくなった。 ● Node clientとのより高い互換性のため。
Slide 7
Slide 7 text
Full featured ● Upgrade transports ● Sending binary data ● Options ● Auto reconnection … Node clientの全機能をサポート
Slide 8
Slide 8 text
Similar Interface // Node client var socket = io(“http://localhost”); // Java client Socket socket = IO.socket(“http://localhost”);
Slide 9
Slide 9 text
Similar Interface // Node client socket.emit(“myevent”, “hi”); // Java client socket.emit(“myevent”, “hi”);
Slide 10
Slide 10 text
Similar Interface // Node client socket.on(“myevent”, function() {}); // Java client socket.on(“myevent”, new Emitter.Listener() { @Override public void call(Object… args) {} });
Slide 11
Slide 11 text
Architecture ● emitter.java (EventEmitter) ● engine.io-client.java ● socket.io-client.java 構成や中のロジックがNode clientと同じ
Slide 12
Slide 12 text
Architecture ● 本家Node clientの新機能やBug Fixの反映が容易。 ● Java clientで行った修正をNode clientにfeedbackできる。 ● Node clientと同程度にstable。 Node ⇔ Java
Slide 13
Slide 13 text
Single Threaded 非同期以外の全ての処理が一つのスレッドで実行される。 All non-background processes run on a particular thread. ● No synchronized keyword ● Simple and robust ● マルチスレッドの厄介な問題を避けることができるので、安 定して動作する。
Slide 14
Slide 14 text
Released on Maven Central
Slide 15
Slide 15 text
thanks <3