@ledsun blog

無味の味は佳境に入らざればすなわち知れず

MQTTのリアルタイムWebビューの実装など

活動記録の続き。完成していません。

sangoでconnectionが残る問題

  • WebSocket上だとkeepalive指定があってもsangoにconnectionが残ることがある
  • 次回deployで修正予定らしい
  • connect中にPCをスリープにしてネットワークを切断するか切り替えるかで発生した
  • 具体的には、電車の中でつないでて、電車降りて(スリープ)、家帰って(ネットワーク切り替え)Dashboard見たら起きてた
  • 一応beforeunloadイベントでdisconnectする実装を入れたけど、 ブラウザ閉じなくても起きるので、この問題には無意味だった。
  • 世のWebSocket対応MQTT Brokerは対応しているのだろうか?

疎通確認

  • PC上のmqttcliからsangoを通してブラウザでsubscribeしたメッセージを見るところまできた
  • -d付けるとBroker URI: %stcp://free.mqtt.shiguredo.jp:1883%sが余計に表示される
  • mqttcli/mqtt.go at master · shirou/mqttcli · GitHub のぱっと見では起きそうにないんだけどな・・・
  • 次はRaspberry Piからpublishしたい
  • goの環境を作らなくては

追記

  • mqttcli は修正済みでした
go get -u github.com/shirou/mqttcli
mqttcli pub -t "ledsun@github/test" -d -m "yoyo"

INFO[0000] Broker URI: tcp://free.mqtt.shiguredo.jp:1883 
INFO[0000] Connecting...                                
INFO[0000] Connected                                    
INFO[0000] Topic: ledsun@github/test                    
INFO[0000] Published
  • sangoも対応版をdeploy済み出そうです。
  • この対応の早さたるや!mowsはいつPull Requestに反応してくれるのだろう・・・