Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Socket.IO 1.0 Client for Javaの紹介
Search
Naoyuki Kanezawa
July 03, 2014
Technology
5
1.7k
Socket.IO 1.0 Client for Javaの紹介
Socket.IO Meetup in Tokyo
Naoyuki Kanezawa
July 03, 2014
Tweet
Share
More Decks by Naoyuki Kanezawa
See All by Naoyuki Kanezawa
Introducing Now and Next.js
nkzawa
12
5.3k
WebSocketの圧縮機能とSocket.IO
nkzawa
5
8.4k
Socket.IO 1.0の変更点・内部的な話
nkzawa
20
9.1k
Other Decks in Technology
See All in Technology
「ばん・さく・つき・たー!」にならないためにSHIROBAKOから 学んだこと
ysknsid25
3
680
kube-vipとkube-proxy置き換えCiliumを積んだ究極のK3sクラスタを建てる
logica0419
4
210
Oracle Database 23ai 新機能#4 Real Application Clusters
oracle4engineer
PRO
0
160
LINE-ChatGPT 倫理問題を整理する全力肯定彼氏くん [LuC4]に訪れたサービス開始以来の最大の危機
o_ob
1
110
AWSへのNIST SP800-171管理策 導入に向けての整備/20240930 Mitsutoshi Matsuo
shift_evolve
0
210
【shownet.conf_】ネットワークテストの最適化と利便性の追求
shownet
PRO
0
340
How CERN serves 1EB of data via FUSE
ennael
PRO
0
16k
ガバメントクラウド開発と変化と成長する組織 / Organizational change and growth in developing a government cloud
kazeburo
4
760
Case Study: Concurrent Counting
ennael
PRO
0
110
【インフラエンジニアbooks】30分でわかる「AWS継続的セキュリティ実践ガイド」
hssh2_bin
4
1.7k
ラブグラフ紹介資料 〜プロダクト解体新書〜 / Lovegraph Product Deck
lovegraph
0
14k
Product Utilization of Large Language Models Starting Today
ymatsuwitter
3
1.4k
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
49
4.7k
How to Think Like a Performance Engineer
csswizardry
16
1k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
How to name files
jennybc
77
99k
The Cult of Friendly URLs
andyhume
77
6k
GitHub's CSS Performance
jonrohan
1030
450k
Creatively Recalculating Your Daily Design Routine
revolveconf
217
12k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
105
48k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
We Have a Design System, Now What?
morganepeng
49
7.2k
The Pragmatic Product Professional
lauravandoore
31
6.2k
A Tale of Four Properties
chriscoyier
156
22k
Transcript
Socket.IO 1.0 Client for Javaの紹介 Socket.IO Meetup in Tokyo
About Me @nkzawa • フロントエンド・エンジニア • Javaプログラマではありません ... • I
♥ Node.JS and Socket.IO
socket.io-client.java
socket.io-client.java • Socket.IO v1.0 対応のJava client • Node clientをJavaへ移植 •
Android support github.com/nkzawa/socket.io-client.java
Over a year ago ... Socket.IO 1.0のリリース前から存在する
Motivation • Socket.IO 1.0のアップデートで、既存clientライ ブラリが使用できなくなった。 • Node clientとのより高い互換性のため。
Full featured • Upgrade transports • Sending binary data •
Options • Auto reconnection … Node clientの全機能をサポート
Similar Interface // Node client var socket = io(“http://localhost”); //
Java client Socket socket = IO.socket(“http://localhost”);
Similar Interface // Node client socket.emit(“myevent”, “hi”); // Java client
socket.emit(“myevent”, “hi”);
Similar Interface // Node client socket.on(“myevent”, function() {}); // Java
client socket.on(“myevent”, new Emitter.Listener() { @Override public void call(Object… args) {} });
Architecture • emitter.java (EventEmitter) • engine.io-client.java • socket.io-client.java 構成や中のロジックがNode clientと同じ
Architecture • 本家Node clientの新機能やBug Fixの反映が容易。 • Java clientで行った修正をNode clientにfeedbackできる。 •
Node clientと同程度にstable。 Node ⇔ Java
Single Threaded 非同期以外の全ての処理が一つのスレッドで実行される。 All non-background processes run on a particular
thread. • No synchronized keyword • Simple and robust • マルチスレッドの厄介な問題を避けることができるので、安 定して動作する。
Released on Maven Central
thanks <3