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);                    
            }                         
        }
    });

客户端.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.
   });
});

因此,我想在客户端从服务器接收到的浏览器上显示数据。这有什么可能?如何在客户端从服务器接收到的数据逐渐显示在浏览器上?我是否必须使用诸如顶点事件总线之类的第三个组件?我需要将它附加到一些 HTML 文件中以显示数据。谢谢

4

1 回答 1

1

为什么你不使用websockets ..你也可以检查事件总线桥......它允许你从浏览器的事件总线发送和接收数据(基本上你像其他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-address”的总线,然后您可以直接从浏览器发送数据 2)

你可以注册一个事件总线并从你的服务器发送数据......这很清楚,只记得正确配置你的总线,允许或不允许从浏览器中看到哪个总线..

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