問題タブ [websocket]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - サーブレット コンテナによって提供される WebSocket
私は先週 WebSocket を調べていて、Java Servlet API を使用してサーバー側を実装する方法についていくつか考えました。私はあまり時間をかけませんでしたが、Tomcat を使用したいくつかのテスト中に次の問題に遭遇しました。これらの問題は、コンテナーにパッチを適用するか、少なくとも HttpServletResponse 実装にコンテナー固有の変更を加えなければ解決できないようです。
WebSocket 仕様では、101 HTTP 応答で定義されたメッセージが義務付けられています。HttpServletResponse.setStatus(int code, String message) は、使用可能な代替品について言及せずに廃止されました。デフォルトの Tomcat 構成を変更した後、Tomcat がメッセージ文字列を尊重するようにしましたが、メソッドが非推奨になっているため、これが他のサーブレット コンテナーで機能するかどうかはわかりません。
WebSocket 仕様では、接続アップグレード要求に対する HTTP 応答の最初のいくつかのヘッダーの指定された順序が必要です。サーブレット API は、応答ヘッダーの順序を指定する方法を提供しません。Tomcat は独自のヘッダーを応答に追加し、サーブレット実装によって追加される任意のヘッダーの前にいくつかのヘッダーを配置します。
ヘッダーのコミット時に応答のコンテンツの長さが不明であるため、Tomcat は応答のチャンク転送エンコーディングに自動的に切り替えますが、これは WebSocket 仕様と互換性がありません。
明らかな何かが欠けていますか、それとも WebSocket サーバーエンドポイントをサーブレットベースの Web アプリに統合することは本当に不可能ですか?
embedded - 組み込みデバイスサーバーに websocket を実装する方法は?
私は家電メーカーと協力して、LAN ベースの制御システムを製品に組み込んでいます。アイデアは、クライアントがソフトウェアをインストールする必要がないように、Web ブラウザーを介してシステム構成/制御インターフェイスを提供することです。組み込みモジュールを介してシリアル データを送受信することで、アプライアンスと通信できます。アプライアンスはフロント パネルの UI からも制御できるため、リモート Web インターフェイスの同期を非常に低い遅延で維持するという課題が生じます。サーバーからクライアントへのリアルタイムイベントを処理するために必要なものは、Webソケットまたはある種のプッシュのようです。
Lantronix Mathport AR 組み込みデバイス サーバーを使用しています。すぐに使用できるユニットは、カスタム HTML および Java サーブレット/アプレットを提供します。より柔軟性が必要な場合は、軽量の Linux ディストリビューションをインストールするオプションがあります。デバイスが標準の Apache を実行していないため、サーバー側のアプリを実装する方法がわかりません。Boaを使っていると思います。
誰かがこれを行う方法の正しい方向に私を導くことができますか?
websocket - 現在の websocket クライアントの実装がプロキシをサポートしていないのはなぜですか?
Web ソケットは、プロキシ サーバーの存在を検出し、プロキシを通過するようにトンネルを自動的に設定します。トンネルは、HTTP CONNECT ステートメントをプロキシ サーバーに発行することによって確立されます。このステートメントは、プロキシ サーバーが特定のホストおよびポートへの TCP/IP 接続を開くように要求します。トンネルが設定されると、通信はプロキシ経由で妨げられずに流れることができます。HTTP/S は同様の方法で動作するため、SSL 上のセキュア Web ソケットは同じ HTTP CONNECT 技術を利用できます。[1]
わかりました、役に立ちますね! しかし、これまでに見たクライアントの実装 (Go [2]、Java [3]) では、プロキシ検出に関連するものは何も見当たりません。
何か不足していますか、それともこれらの実装はまだ若いですか? WebSockets は非常に新しいものであり、クライアントの実装も同様に新しく未熟である可能性があることを私は知っています。プロキシの検出と処理について何か不足しているかどうかを知りたいだけです。
[1] http://www.kaazing.org/confluence/display/KAAZING/What+is+an+HTML+5+WebSocket
[2] http://golang.org/src/pkg/websocket/client.go
[3] http://github.com/adamac/Java-WebSocket-client/raw/master/src/com/sixfire/websocket/WebSocket.java
c# - Websocketサーバー:Webソケットのonopen関数が呼び出されることはありません
C#Webソケットサーバーを実装しようとしていますが、いくつかの問題が発生します。javascriptを使用してページをホストするためにWebサーバー(ASP.NET)を実行しており、WebソケットサーバーはC#コンソールアプリケーションとして実装されています。
クライアント(javascriptを実行しているchrome)からの接続試行を検出し、クライアントからハンドシェイクを取得することもできます。しかし、クライアントは私が送り返しているハンドシェイクを受け入れていないようです(onopen
Webソケットの関数が呼び出されることはありません)。
Web Socketプロトコルを読んでいますが、何が間違っているのかわかりません。サーバーコードの一部を次に示します。
ローカルホストで、ポート8080のWebサーバーとポート8181のWebソケットサーバーを実行しています。
ハンドシェイクをさまざまなエンコーディング(ASCII、バイト、16進数)で送信しようとしましたが、違いはないようです。接続が完全に確立されることはありません。javascriptは次のようになります。
chromeが情報を適切に送信しているため、エラーはC#サーバーにあると推測していますが、前述のように、onopen
関数は呼び出されません。
要するに私の質問です: あなたの誰かがこれを達成したことがありますか?もしそうなら、どのようにそれをしましたか?そして原因:コードに明らかなエラーがありますか(あまり質問しないことを願っています)
java - Web ソケット: ブラウザはメッセージを受信せず、0x00 (バイト) で始まっていないことを訴える
これが私のコードです:
メッセージを (Web Sockets 経由で) ブラウザに送信しようとすると、0x00 (バイト) で始まらないというエラーが表示されます。
何か案は?
2002 年 19 月編集 - コード全体を追加。本当に面倒できちんとしていないことはわかっていますが、最初に機能させたいと思っています。
最後の 2 日間を修正に費やしてください。
websocket - グーグルクロームフレームはWebSocketをサポートしていますか?
グーグルクロームフレームはWebSocketをサポートしていますか?
http - WebSocket はソケットに排他的にアクセスできますか?
WebSocket が確立された後 (それらをサポートするサーバーから適切なハンドシェイクを受け取った後)、「WebSocket 接続」によって使用される TCP ソケットが WebSocket によって排他的に使用されるかどうか、またはブラウザが通常の HTTP リクエストを行う可能性がある場合。
WebSocket が TCP ソケットを排他的に使用することは私には理にかなっていますが、そのようなドキュメントを読んだことを覚えていません。
ruby-on-rails - nginxをバックエンドWebSocketサーバーのリバースプロキシとして使用できますか?
私たちは、html5WebSocketを利用する必要があるRubyonRailsアプリに取り組んでいます。現在、いわば2つの別個の「サーバー」があります。nginx+passengerで実行されるメインアプリと、Pratik NaikのCrampフレームワーク( Thinで実行されている)を使用してWebSocket接続を処理する別個のサーバーです。
理想的には、デプロイの時期になると、Railsアプリがnginx +passengerで実行され、WebSocketサーバーがnginxの背後にプロキシされるため、WebSocketサーバーを別のポートで実行する必要はありません。
問題は、このセットアップでは、nginxがThinへの接続を早すぎて閉じているように見えることです。シンサーバーへの接続は正常に確立され、200応答コードですぐに閉じられます。私たちの推測では、nginxは、クライアントがWebSocketトラフィックの長時間実行接続を確立しようとしていることを認識していません。
確かに、私はnginx configに精通しているわけではないので、WebSocketサーバーのリバースプロキシとして機能するようにnginxを構成することも可能ですか?または、nginxが新しいWebSocketハンドシェイクのサポートを提供するのを待つ必要がありますか?アプリサーバーとWebSocketサーバーの両方がポート80でリッスンしていることが要件であるとすると、今のところnginxを使用せずにThinを別のサーバーで実行する必要があるのでしょうか。
アドバイスや提案を事前に感謝します。:)
-ジョン
java - gae を使用した kaazing websocket
gaeでkaazing websocketを使用するデモはありますか?
ajax - ajaxを強化するためにwebsocketを使用するには?
HTML5は次のスーパー スターになるでしょう。それでは~~~ HTML5仕様でWebSocketにAJAXを実装するために新しいアイデアを使用するにはどうすればよいですか? どうも....