みなさん、こんにちは。
push_notify[121]: stream: received error: The operation couldn't be completed. Operation timed out on: incoming stream: APN to host: gateway.push.apple.com:2195 APNBridge[116]: Will attempt to reconnect stream APN to host gateway.push.apple.com:2195 in 15 seconds
同じようなエラーとして以下のサイトも見つかりました。
Lion Server push notifications to iOS5
https://discussions.apple.com/message/16800900#24471966
Lion Serverに設定したAppleプッシュ通知 メールを受信してもiPhoneにプッシュ通知がこない時がある
http://www.sa-sa-ki.jp/blog/2012/07/lion-server-apple-iphone/
Appleのサポートと掛け合った結果・・・
何も分かりませんでした。(´;ω;`)
(解決策は続きへ・・・)
サポートに電話して問題が解決しないため、ログを凝らして様子を観察しました。
#!/usr/bin/perl
$| = 1;
while(1){
print "# ";
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
print sprintf("%d", $year + 1900);
print "/" . sprintf("%02d", $mon +1);
print "/" . sprintf("%02d", $mday);
print " " . sprintf("%02d", $hour);
print ":" . sprintf("%02d", $min);
print ":" . sprintf("%02d", $sec);
print " " . sprintf("%s", ("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")[$wday]);
print "\n";
$test = `ps ax | grep -v grep | grep "aps" | awk '{ print \$1 }' 2>&1`;
for (split(/\n/, $test)){
my $test = $_;
print "kill:" . $test." aps\n";
system("kill $test");
}
$test = `ps ax | grep -v grep | grep "push" | awk '{ print \$1 }' 2>&1`;
$test =~ s/\n//ig;
print "kill:" . $test." push\n";
system("kill $test");
sleep 600;
}
プロセスを10分おきに停止させるプログラムです。起動時に実行してあげてください^^。kill後は、自動的にpushデーモンが再起動します。
---
使い方が分からない人のために:
1.ターミナルを起動します。(アプリケションのユーティリティフォルダにあります。)
2.「vi PushKill.pl」と打ち込み、Return(Enter)キーを押します。
#!/usr/bin/perl
$| = 1;
while(1){
print "# ";
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
print sprintf("%d", $year + 1900);
print "/" . sprintf("%02d", $mon +1);
print "/" . sprintf("%02d", $mday);
print " " . sprintf("%02d", $hour);
print ":" . sprintf("%02d", $min);
print ":" . sprintf("%02d", $sec);
print " " . sprintf("%s", ("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")[$wday]);
print "\n";
$test = `ps ax | grep -v grep | grep "aps" | awk '{ print \$1 }' 2>&1`;
for (split(/\n/, $test)){
my $test = $_;
print "kill:" . $test." aps\n";
system("kill $test");
}
$test = `ps ax | grep -v grep | grep "push" | awk '{ print \$1 }' 2>&1`;
$test =~ s/\n//ig;
print "kill:" . $test." push\n";
system("kill $test");
sleep 600;
}
コメントする