前提

三大キャリアのSIMとして、ドコモのSIMとします。

格安SIMとして、あるドコモ系回線の格安SIMとします。直接は避けました。

結論

  • 格安SIMとiOSという組み合わせでは、遅延する場合があり、改善不可能。
  • 格安SIMとAndroidという組み合わせでは、遅延する場合があるが Push Notification Fixer などで改善できる。
  • 三大キャリアのSIMでは遅延が確認できなかった。

検証

  • iOS として iPhone SE (13.6), iPad Mini (13.2)
  • Android として Nexus5X (8.0.0)
  • 双方に入れた Skype に両方にPush通知が来るようにして待機中にして、PCから電話をかける
  • すぐ鳴った場合は o そうでなければ x。x の後に時間がある場合は、通知が遅れて届いた日時。
  • 電話後、1〜10分おいて、また電話。
  • 無線LANは記載が無ければオフです。
# 同じ iOS で、SIMの違いで差を確認
ts                     , mvno(iPhone)             , mno(iPad)
2020-09-21T13:34:39+09 , x                        , o
2020-09-21T13:37:23+09 , o                        , o
2020-09-21T13:45:45+09 , x 2020-09-21T13:48:10+09 , o
2020-09-21T13:50:01+09 , x                        , o
2020-09-21T13:55:30+09 , x 2020-09-21T13:58:26+09 , o 
2020-09-21T14:02:07+09 , x 2020-09-21T14:08:46+09 , o
2020-09-21T14:10:03+09 , o                        , o
2020-09-21T14:15:00+09 , x 2020-09-21T14:20:35+09 , o

# SIMを入れかえて、SIMに応じて結果が移るか
ts                     , mvno(iPad)               , mno(iPhone)
2020-09-21T14:27:35+09 , o                        , o
2020-09-21T14:38:37+09 , x                        , o
2020-09-21T14:45:56+09 , x 2020-09-21T14:46:32+09 , o
2020-09-21T14:57:01+09 , x 2020-09-21T14:57:20+09 , o

# MNO側を Android にしてみた
ts                     , mvno(iPad)               , mno(Android)
2020-09-21T16:28:26+09 , x 2020-09-21T16:29:31+09 , o
2020-09-21T16:35:43+09 , x                        , o
2020-09-21T16:58:00+09 , x                        , o

# MVNO側を Android にしてみた。遅延しないと思ったら無線がOnだった・・・
ts                     , mvno(Android無線ON)      , mno(iPhone)
2020-09-21T17:02:25+09 , o                        , o
2020-09-21T17:10:16+09 , o                        , o
2020-09-21T17:20:38+09 , o                        , o
2020-09-21T17:24:10+09 , o                        , o
2020-09-21T17:29:33+09 , o                        , o
2020-09-21T17:40:31+09 , o                        , o
2020-09-21T18:12:20+09 , o                        , o

# MVNO側を Android にしてみた。
ts                     , mvno                     , mno(iPad)
2020-09-21T18:18:20+09 , x 2020-09-21T18:18:57+09 , o
2020-09-21T18:22:12+09 , x 2020-09-21T18:22:53+09 , o

# Push Notification Fixer を使ってみる
ts                     , mvno(Push Notification Fixer 1min) , mno(iPad)
2020-09-21T18:25:30+09 , o                        , o
2020-09-21T18:32:18+09 , o                        , o
2020-09-21T18:46:10+09 , o                        , o 
2020-09-21T18:49:10+09 , o                        , o
2020-09-21T18:49:28+09 , o                        , o
2020-09-21T19:44:59+09 , o                        , o

余談

  • SMSであればおそらく鳴るまでの時間に大差はないと思いますが、SMSよりプッシュ通知のほうがずっと速いので。

クリップボードの内容をモニターして、自動的に発動したり同期したりするの動かしているのだけれど
ファイルマネージャ(thunar や nautilus や PCMan) で Ctrl-X or Ctrl-C した場合に
ファイルパスの文字列を Ctrl-C した場合と区別したい。

xclip -selection clipboard -t TARGETS -o が有用なようだ。

(urxvt で文字列をコピー)
# xclip -selection clipboard -t TARGETS -o
TARGETS
UTF8_STRING

# xclip -selection clipboard -o
/home/user/file

(nautilus でファイルを選択して Ctrl-X)
# xclip -selection clipboard -t TARGETS -o
TIMESTAMP
TARGETS
MULTIPLE
x-special/gnome-copied-files
text/uri-list
UTF8_STRING
COMPOUND_TEXT
TEXT
STRING
text/plain;charset=utf-8
text/plain

# xclip -selection clipboard -t x-special/gnome-copied-files -o
cut
file:///home/user/file

# xclip -selection clipboard -o
/home/user/file

ちなみに xclip には xclip-copyfile xclip-cutfile xclip-pastefile が含まれていて、ssh -Y でリモート間でもファイルを転送できます。

host1# mkdir dir1

host1# echo content1 > dir1/file1

host1# echo content2 > dir1/file2

host1# xclip-copyfile dir1

host1# ssh -Y host2

host2# xclip-pastefile
x dir1/
x dir1/file1
x dir1/file2

host2# cat dir1/file1
content1

FreeBSD の場合は /usr/local/bin/xclip-pastefile を修正する必要があるかも。

host1# xclip-copyfile dir1

host1# ssh -Y host2

host2# xclip-pastefile
tar: Error opening archive: Failed to open '/dev/sa0'

host2# exit

host1# xclip-copyfile dir1

host1# ssh -Y host2

host2% xclip -selection secondary -o | gunzip -c | tar xv -f -
x dir1/
x dir1/file1
x dir1/file2

host2% cat 
#!/bin/sh
set -e
if [ "x$1" != "x" ]; then
    echo "Usage: $0" >&2
    exit 1
fi
xclip -selection secondary -o | gunzip -c | tar xv
perl adv
perl adv