2

Ver.xを使用してサーバーから受信したデータをブラウザに表示するアプリケーションを開発しています。したがって、次のモジュールがあります。

サーバー.java:

NetServer server = vertxx.createNetServer();

    server.connectHandler(new Handler<NetSocket>() {

        @Override
        public void handle(final NetSocket sock) {

            System.out.println("A client has connected");                

            while (true) {           
                //Sending Message to Client after each five seconds
                Thread.sleep(5000);
                socket.write("HELLO Server: I am Client: " + i);                    
            }                         
        }
    });

client.js:

var client = vertx.createNetClient();

client.connect(1234, 'localhost', function(err, sock) {

   sock.dataHandler(function(buffer) {
       //Here I received data sent from server. Now, I want to show this data on browser.
   });
});

そのため、サーバーからクライアントで受信したデータをブラウザに表示したいと考えています。これにはどのような可能性がありますか?サーバーからクライアントで受信したデータをブラウザーに徐々に表示するにはどうすればよいですか? 頂点イベント バスのような第 3 のコンポーネントを使用する必要がありますか? データを表示するには、HTML ファイルに追加する必要があります。ありがとう

4

1 に答える 1

1

Websocket を使用しない理由..また、イベント バス ブリッジを確認することもできます。これにより、ブラウザーからイベント バスからデータを送受信できます (基本的に、他の eventBus と同様に Websocket を使用します)。

http://vertx.io/core_manual_java.html#sockjs-eventbus-bridge

<script src="http://cdn.sockjs.org/sockjs-0.3.4.min.js"></script>
<script src='vertxbus.js'></script>

<script>

    var eb = new vertx.EventBus('http://localhost:8080/eventbus');

    eb.onopen = function() {

      eb.registerHandler('some-address', function(message) {

        console.log('received a message: ' + JSON.stringify(message);

      });

      eb.send('some-address', {name: 'tim', age: 587}); //--------2)

    }

</script>

ここでは、サーバーに「some-addres」という名前のバスがあり、ブラウザから直接データを送信できます 2)

イベントバスを登録して、サーバーからデータを送信できます...これは非常に明確です。バスを正しく構成して、ブラウザからどのバスが表示されるかを許可するかどうかだけを覚えておいてください..

vertx.createSockJSServer(server).bridge(config, noPermitted, noPermitted);
于 2015-03-19T02:22:27.617 に答える