【Cordova】「cordova-plugin-socket-tcp」プラグインでサーバーとの接続が失敗する

原因は完全に私のミスですが、再発防止の意味も込めてまとめ。
先日投稿した「【Cordova】TCPプロトコルを介してサーバーと通信するためのプラグイン「cordova-plugin-socket-tcp」」という記事で紹介したプラグイン「cordova-plugin-socket-tcp」でサーバーとの接続が一定時間後に何故か切れてしまう時の対処法です。

GitHub のページはこちら。

GitHub – kitolog/sockets-for-cordova: Cordova plugin for socket network communication
https://github.com/kitolog/sockets-for-cordova

 

発生していた現象は、メソッド .open() を使って、指定したサーバーに接続した際、一定時間が経過すると、onErroronClose ハンドラが呼ばれるという物でした。
なお、その際のエラーは「Read timed out」でした。
また、後輩君のアドバイスで、数秒間隔でデータを送り続ければ途切れないのでは?とのアドバイスも頂きましたが、実装しても意味はなかったです…。

で、こちらの対処法ですが、プラグインを入れ直すことで解決できました…!
プラグインインストール時に、ドキュメントに記載されているコマンドではなく、下記のコマンドを実行してしまったことが原因でした。

cordova plugin add https://github.com/kitolog/sockets-for-cordova.git

正しいコマンドはこちら。

cordova plugin add cz.blocshop.socketsforcordova

以前、他のプラグインで上記のようにドット区切りのプラグインを指定したところ、インストールに失敗したので、GitHub のURLを指定したんですよね。
で、今回も失敗するかもしれないと考えて、最初から URL を指定したところ、バグに遭遇しました…。
謎のアレンジを効かせた私が悪いということでした。
プラグインを正しいコマンドで入れ直したところ、問題なく動作するようになりました。

 

以上、Cordova のプラグイン「cordova-plugin-socket-tcp」が正常に動作しない時の対処法でした。
参考になれば幸いです。
あと、私のように変な修正はしないようにしてください。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG