Help us understand the problem. What is going on with this article?

JINS MEMEのデータをsocket.ioで出力 with RxSwift

More than 3 years have passed since last update.

What's JINS MEME

一言でいうと、外ではなく内を見ることのできるメガネです。詳細については以前まとめたものがありますので、そちらをご参考ください。
http://qiita.com/mito_log/items/020a87996ed2b9d793e6

Background

前々回はPOSTで出力。前回はtcpソケット通信で出力。ときて、ここまできたらsocket.ioでも出力してしまおうということで、今回はsocket.ioでJINS MEMEのデータを出力してやります。これで大抵の外部連携はできるのではないでしょうか。外堀埋めまくりです。

What to cover

今回は2部構成の1部目の記事、という体裁にしています。各部の内容は以下:

  1. ローカルに立ち上げたsocket.ioサーバを介してデータをリアルタイムにmac PCに出力する (← 本記事)
  2. mac側では受け取ったデータを使って、PCを離れると自動的に画面ロックがかかる

Network Diagram

networkDiagram.png

Screenshots

mac app

ios
autolockscreen_ios.png

Github

https://github.com/mitolog/JINSMEMESampler
今回のサンプル部分はこちら

How to use

  1. app.jsのあるフォルダで 必要に応じて npm install socket.io
  2. ios app, mac appを両方立ち上げてホストを指定してつなげる

※ 注意点

  • 毎秒約20サンプルデータがはいってくるので、できるだけネット環境のいい場所がいいです
  • disconnectボタンを押しても実際にサーバ側でdisconnectが呼ばれるまで少しラグが発生します

Recap

ちょっとしたことなのですが、RxSwiftでメソッドチェーン作っていくと、クロージャで [unowned self]をよく入れる機会があるのですが、毎回書くのを忘れてしまいそうになってヒヤヒヤします。予めRxSwift側のauto completeの一部として登録したいです。

Next...

今回のサンプルで、webを介した通信も(概ね)対応することができました。次回はJINS MEMEの記事として6つめでついに(!)アプリらしきものを作りますよ。既にネタバレしていますが、

  1. mac側では受け取ったデータを使って、PCを離れると自動的に画面ロックがかかる

を作ってみます。だいぶ JINS MEME Advent Calendar 15日目の記事に近い気もしますが、コンプライアンス的にはいんじゃないでしょうか。できるかわかんないですが、とりあえずやってみます!(※ というかMQTTなんかよさ気ですね。ちょっと調べてみよ)

References

socket.ioの公式クライアントについて

Socket.ioとは何か?リアルタイムWebアプリケーションを実現する技術をまとめてみた

mito_log
ベトナム・ハノイ拠点の個人デベロッパ。東南アジア向けに素敵なサービスと文化を作るべく模索中。ベトナムで1年半農業。newbie skateboarder、ハノイITもくもく会毎週土曜朝9時頃 → https://bit.ly/2Oe9Ehk
http://mitolab.hatenablog.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした