2016-09-04 14 views
0

nodejsとwebsocketを使ってオンラインゲームを作成しています。 websocketライブラリとして、私はモジュール "ws"を使用しています。私はHTTPサーバーを実行するnodejsを使用していません私はwebsocketサーバーとして実行しているWebサイト/クライアントとnodejsをホストするためにApache + PHPを使用しています。Nodejs "ws" Websocket Server

websocket接続(ポート443)を開くために知っている限り、別のポートでハンドシェイクを行う必要があります。私は私のケースではポート3000を使用しています(ポート80で私のApacheサーバが動作しているので)。私はこのテキストを取得www.mywebsite.com:3000

var PORT = 3000; 
var WebSocketServer = require('ws').Server; 
var wsServer = new WebSocketServer({ port: PORT }); 

そして訪問である:私はWebSocketのサーバーを初期化するために、このコードを使用しています私のserver.jsファイル(起動するnodejsファイル)で

メッセージ "アップグレードが必要です"。私がしたいのは、そのポートにアクセスするときにサーバに接続されているクライアントの数を表示することでした。私は "ws"モジュールネイティブサーバーを使用しているので、作成することは可能ですか?

ご質問いただきありがとうございました。私の質問を明確に理解できなかった場合は、コメントを教えてください。

+0

その質問と重複していません。私はHTTPサーバーを持っているからです。私が望むのは、ブラウザがWebSocketハンドシェイクを作成しようとしていないときに、PORT 3000にオンラインクライアントの数を表示することです。この方法ではNodeJSに2台のサーバを保有する必要はなく、CPUを節約します。 (私はそれが数値を印刷するだけの別のサーバーを作成する価値があるとは思わない) –

+0

また、Apacheを実行している私のHTTPサーバーは1つのIPを持つ1つのマシンにあり、WebSocketを確立するサーバーを私のWebサイトから選択します接続(あなたの場所に基づいて)。私が今必要とするのは、各サーバーのクライアント数を印刷してホームページに表示する方法です。私はWebSocketを使用してそれを行うことができましたが、私は各サーバへのWebSocket接続を開いて、クライアントの数をオンラインで要求しなければなりませんでした。だからポート3000の番号を印刷するほうが簡単だと思った。 –

+1

さて、あなたはおそらくhttp://stackoverflow.com/questions/20919947/serve-websocket-and-http-server-at-same-を探しているだろう。 address-on-node-js ... – bwoebi

答えて

1

私も同じ問題を抱えています。 wsモジュールの問題かもしれません。 最後に、httpモジュールを使って自分で書きます。

関連する問題