MantaRay JMS に問題があります。ネットワークでは自動検出が機能しないため、静的な世界地図を使用しています。10 を超えるピアがオフラインの場合、エラー4226が発生します。
問題は、Microsoft が Windows XP SP2 で 10 のハーフオープン接続の制限を設定したことです。MantaRay はすべてのピアに接続しようとし、多くの接続を開始します。最初の 10 回の接続は問題ありませんが、11 回目が開始すると、ソフトウェアは別の接続がタイムアウトするまで待機する必要があります。同じ PC 上のネットワークにアクセスしようとする他のプログラムはタイムアウトになります。
奇妙なことに、一部の PC では接続が 1 ~ 2 秒後にタイムアウトになり、問題の影響はほとんどありませんが、別の PC では 10 秒または 20 秒待たなければなりません。しかし、Microsoft によれば、デフォルトの TCP 接続タイムアウトを直接設定する方法はなく、他の要因 (ネットワーク スイッチ、ルーター、VPN など) が影響を与える可能性があります。
MantaRay のソース コードを見て、TCP 接続タイムアウトを設定する方法を見つけようとしましたが、MantaRay は「通常の」ソケットの代わりに SohetChannels を使用し、connect()メソッドにはタイムアウトがありません。何か不足していますか?