私はJetty 8サーバを稼働させています(うまくいけば、すぐにWebソケットがあります)。私はAJAX呼び出しでサーバーにいくつかのデータを送信したい場合はWebSocketを現在のサーバに向ける方法
、私はこれを行うことができます。
$.ajax({ url: "ajax?a=getSomeData" });
をこのシナリオでは、私は192.168.1.100
で私のサーバーに接続する場合、実際のURLをどこがしますからデータを取得する、192.168.1.100/ajax?a=getSomeData
になりますが、同じソフトウェアを実行している別のサーバーに192.168.1.200
で接続すると、URLは192.168.1.200/ajax?a=getSomeData
になります。
しかし、私はWebSocketをを使用して同じことを達成したい場合は、私はそれを行う方法を見つけることができません。
var socket = new WebSocket('ws://www.example.com/');
作品。 AJAXリクエストのように - - 私は192.168.1.100
で私のサーバに接続している場合、URLは192.168.1.100/sockets?a=getSomeData
となり、わたしは192.168.1.200
に接続する場合、URLは意志
var socket = new WebSocket('ws://sockets?a=getSomeData');
だから:しかし、私は相対URLのような何かをしたいです192.168.1.200/sockets?a=getSomeData
となります。
どうすればこの問題を解決できますか?
変更する必要がある場合は、 'location.host'のポート番号を切り捨ててください。代わりに 'location.hostname'が動作します。 – jocull
あなたはお手伝いできますか?私は私のウェブサイトにインスタントメッセージング機能を追加したいと思います。私のドメインは共有ホスティングにあり、彼らは自分のドメインにウェブソケットを置くことができないと言ってきました。私は自分の目的のために接続する自由に利用可能なWebソケットのURLがあるのだろうか?私は本当にそれがどのように動作するのか分からないので、本当にWebソケットに新しいです。ありがとう – Sarah