サーバーセクションイベントは、WebSocketプロトコルからクライアントにイベントとデータを送信する単方向通信です。現在、すべての主流ブラウザは、インターネットエクスプローラーを除き、もちろん、サーバーの送信イベントをサポートしています。 2333 ...
WebSocketプロトコルは、HTTPプロトコルの後の別のサーバークライアント通信プロトコルです。
サーバーセンスイベントの使用サーバーとのイベント(以下、SSEと呼ばれます)は、避けられないクライアントに対応するサービスアドレスと応答方法を持つ必要があります!
クライアントJSコードH5ページは、次のJSコードで追加する必要があります。
<Script> == UNDEFINED){//サービスインターフェイスアドレスvar eventsource(http:// localhost:2242/webservice/serversent/sentnntn ews); eventsource.onopen = function(){console.log(connect to open ...);} // eventsource.onerror = function(e){console.log(e);インシデントはeventsource.onmessage = function(event){console.log(onmessage ...); var data = eval( '+event.data+');メッセージのソースを示すプロトコル、ドメイン名、およびポート。インターネットエクスプローラーを除くイベント。 document.getElementByID(result).innerhtml =申し訳ありませんが、ブラウザはサーバーと意味のイベントをサポートしていません...;} </script>サーバサーバーはどのようなデータ形式を返す必要がありますか?クライアントにどのような応答を与えるべきですか?最初に.NETサンプルを使用しましょう
/// <summary> /// push messages /// </summary> /// <Return> </return> [httpget] public httpresponsemessage sentnews(){httpresponsemessage response = req uest.createresponse(httpstatuscode.ok); try {//response.adds.adds.dd_rcess-control-allow-origin、 *);文字列弦ven =、if(!string.isnullwhiteSpace(data_str)){event:sentmessage: + data_str + /n;} / reconed reconed time opening(milliseconds)、実際には、回転時間2333として理解できます(array)。 catch(例外ex){loghelper.writeweblog(ex);} return response;}上記のコードを読んだ後、おおよその方法が必要だと思いますが、依然としてhttpresponse応答がありますが、常に少しのリクエストがあります。
応答ヘッダーコンテンツタイプは、テキスト/イベントストリームに設定する必要があります
応答のデータ形式には、データ:、event:およびretry:上記のコード:これらのラベル:これらのラベル:これらのマーク:
1.Event:イベントの種類を宣言するイベントのタイプを意味します。データを受信すると、ブラウザは対応するタイプのイベントを作成します。
2。データ:行にデータが含まれていることを意味します。データの開始時に何度も表示される可能性があります。これらの行はすべて、インシデントのデータです。
3. Retry:それは、接続が切断された後にブラウザが接続される前の待ち時間を宣言するために行を使用していることを意味します。
4.ID:それは、識別子(つまり、データの数)を宣言するために使用された行を意味しますが、これは一般的には使用されていません。
上記は、サーバーセントイベントの単純なアプリケーションです。