0

私は小さなホーム サーバー (Ubuntu + XAMPP) と 2 つの PHP スクリプトを持っていserver.phpますclient.php

server.php/client.phpを同じマシン ( ) で実行するとlocalhost、正常に動作します。また、server.phpサーバー上で実行しclient.php、同じサーバー上で他のローカル PC (つまりlocal_server_ip/ client.php) から実行すると、すべて正常に動作します。

ただし、server.phpサーバーとclient.php同じネットワーク上の他の PC で実行すると (スクリプトで に置き換えlocalhostますlocal_server_ip_addr) client.phpactively refused connectionエラーで失敗します。

必要なすべてのポートがルーターで転送されます。これは XAMPP/Linux の一種のセキュリティ ブロックであり、構成ファイルによって排除できると思います。Deny from allinNew XAMPP security conceptAllow from allinファイルに置き換えましたhttpd-xamp.confが、それでも失敗します。

どんな助けでも大歓迎です。

(PS: http://i-novice.net/sokety-v-php/から取得したサーバー/クライアント スクリプトの例)

UPD: ポート 8080 (システムのソケット専用) を XXXXX に変更しました。すべて正常に動作します!

4

1 に答える 1

0

これが確実に発生する場合は、実際にはマシンが存在することを意味しますが、事前に定義されたポートでリッスンしている管理者がいないか、ファイアウォールがあなたを止めています.

それが定期的に発生する場合 (「時々」を使用した場合)、再試行が成功する場合は、サーバーに完全な「過剰」があるという事実に照らして考えられます。

傾聴への執着で認められるために我慢しているとき、あなたはビルドアップ状態に置かれます。この過剰量は限定的で短いものです - 1、2、または 3 の見積もりは奇妙ではありません - したがって、OS は、貪欲な「承認」の要請に対応できない場合があります。

ビルドアップは、リッスン容量のパラメーターです。すべての方言とステージは、C# であっても、基本的に同じ API を持っています。このパラメーターは、サーバーを制御する場合に頻繁に構成可能であり、いくつかの設定ドキュメントまたはレジストリから読み取られる可能性があります。サーバーの配置方法を調べます。

サーバーを作成した場合、添付ファイルの承認にかなりの準備が必要な場合があり、これを別の専門家の文字列に移動して、承認が常に関連付けを取得できるようにすることをお勧めします。顧客を列に並べて順番に処理することを軽減するために調査できるさまざまな構造エンジニアリングの決定があります。

サーバーの構築を構築できるかどうかに関係なく、この問題に適応するために顧客コードで再試行の根拠が必要です。構築が長くても、サーバーはそのポートでさまざまな要求を取得している可能性があるためです。

マッピング用のポートが使い果たされた場合に、NAT スイッチがこの失敗を引き起こす可能性はまれです。ただし、スイッチは同じ宛先ロケーション/ポートと 64K の同時アソシエーションを持っているため、この可能性はかなりの可能性があります。

于 2015-05-20T07:12:37.277 に答える