2011-07-26 8 views
5

こんにちは私はPHPで書かれた実行中のソケットサーバーを持っています。JavascriptクライアントはどのようにしてPHpソケットサーバーに接続できますか?

サーバーは接続を待ち受けています..私のクライアント(JavaScriptで書かれています)がサーバーに接続してデータを送信する方法を考えていますか?

PS:私は、PHPクライアントをソケットサーバーに接続する方法しかわかりませんが、javascriptクライアントの接続方法はわかりません。

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

+0

JavaScriptはクライアント側のスクリプトであり、afaikを開くソケットは提供していません。私はそれが書き込みの時点で可能ではないと思う。 –

+1

実行中のJS環境は何ですか?ノード? WSH? ASP?ブラウザプラグイン?ウェブページを閲覧しているブラウザ?他に何か? – Quentin

+0

@Lionel Chan - JSは汎用プログラミング言語であり、ホスト環境に由来する非常に多くのI/O期間を提供しません。 – Quentin

答えて

-1

簡単に言えば、それはできません。クライアントサイドコードにソケット接続を開かせることは、セキュリティ違反になります。

しかし、あなたはそれをシミュレートすることができます - あなたのデータを別のPHPページにAJAXリクエストとして送り、そのPHPページをソケットを通して通信させる。

アップデート2017

平均時間で、websockets事になりました。 websocketプロトコルは、generic networking sockets以外のものです。

+0

Ummm:http://code.google.com/p/phpwebsocket / – Relic

0

私はJSに任意のソケット機能を提供するものは認識していません。 Web Socketsのサポートは限られています(スペースに準拠するようにサーバーを変更する必要があります)。それに失敗した場合、簡単なXHRがあなたのニーズを満たすかもしれません(サーバーをWebサービスとして動作させる必要があります)。サービスがページとは別の場所で実行されている場合は、CORSを使用するか、JSONPなどの回避策を使用する必要があります。

4

私はグーグル経由で行ったように、人々はそれを見つける場合には、古い質問に答えます。

現代のほとんどすべてのブラウザは、WebSocket Javascript APIをサポートしています。 WSを使用すると、ブラウザのクライアントJSが、PHPやその他の言語で書かれたサーバーに全二重ソケットを開くことができます。サーバーはWSプロトコルを実装する必要がありますが、現在PHP、Java、およびその他の言語用のWSライブラリがあります。

WS実装はまだ動いているようですが、現在はWS/Javaブラウザと通信してWS/Javaサーバーと通信していますが、動作しているようです。

WS実装のためのグーグルリングをご使用のサーバー言語でお選びください。

希望すると便利です。

関連する問題