6

数日前、http: //code.google.com/p/phpwebsocket/ からこの WebSocket サーバーをセットアップしました。

Xampp を使用することで、私のローカルホストでうまく機能します。その後、Strato の Web スペースにアップロードしましたが、サーバーに接続できません。

ドメインへのソケット接続を変更しましたが、機能しませんでした

Client.html:

var host = "ws://xxxxxxxx.com:12345/Websocket/server.php";

サーバー.php:

$master  = WebSocket("xxxxxx",12345);

ドメインの代わりにserver.phpのIPアドレスを使用して、別のポート(80,443,12345,8080,8000 ....)ですでに試しました。

また、client.html で絶対パスと相対パスを使用しました。

プロジェクト ページhttp://code.google.com/p/phpwebsocket/から、誰かが server.php で 0 または 0.0.0.0 を使用することを提案しましたが、それも機能しませんでした。

client.html では、次のように表示されます。

WebSocket - ステータス 0 切断 - ステータス 3

問題は、Strato が WebSocket の使用をブロックしていることだと思います。Web スペースで WebSocket を実行することはできますか?

4

2 に答える 2

4

私の賭けは、あなたのホストがソケットへの着信要求をブロックしていることです。Web サービス内で phpwebsocket のようなスクリプトを実行することは想定されていません (それはサーバー自体です)。PHP は通常、デーモンのコーディングではなく Web ページのスクリプト作成に使用されるため、これは多くの人を混乱させます。

Xampp内でスクリプトを実行すると述べ、ホスティングサービスを「ウェブスペース」と呼んだため、これを言います。

この場合、独自のサービスを実行できるように、仮想サーバー パッケージにアップグレードする必要があります。

于 2012-12-08T20:09:53.573 に答える
3

さて、これを終わらせるために。

Websockets アプリを使用するソリューションを見つけましたが、それが共有ホスティング ソリューションで機能しなかった理由について説明があります。

Strato に連絡したところ、共有ホスティングで Websocket を許可していないと言われました。同様の結果を得る唯一の方法は、AJAX ロング プーリングを使用することです。

仮想サーバーを購入したところ、websocket アプリが正常に動作するようになりました。

ご協力ありがとうございました。

于 2012-12-12T17:19:11.727 に答える