首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓SockJS与Vert.X SockJS服务器

安卓SockJS与Vert.X SockJS服务器
EN

Stack Overflow用户
提问于 2013-10-31 01:35:37
回答 1查看 2.1K关注 0票数 2

我有一个Vert.X SockJS服务器,使用以下代码运行:

代码语言:javascript
复制
HttpServer httpServer = vertx.createHttpServer();
SockJSServer sockJSServer = vertx.createSockJSServer(httpServer);
JsonObject config = new JsonObject().putString("prefix", "/echo");

sockJSServer.installApp(config, new Handler<SockJSSocket>() {
    public void handle(SockJSSocket sock) {
        Pump.createPump(sock, sock).start();
    }
});

httpServer.listen(8080);

现在,我需要从服务器向Android应用程序发送消息(反之亦然),我不知道如何在客户机上设置这些消息。这些文档讨论了如何在JavaScript中,但在浏览器上处理这个问题。

更新:--我相信下面的代码是正确的。我仍然需要添加主机ip地址(不确定如何添加)。

代码语言:javascript
复制
public void start() {
    SockJSSocket client = new SockJSSocketBase(vertx){
        
        @Override
        public boolean writeQueueFull(){
            // TODO Auto-generated method stub
            return false;
        }
        
        @Override
        public SockJSSocket setWriteQueueMaxSize(int arg0){
            // TODO Auto-generated method stub
            return null;
        }
        
        @Override
        public SockJSSocket drainHandler(Handler<Void> arg0){
            // TODO Auto-generated method stub
            return null;
        }
        
        @Override
        public SockJSSocket write(Buffer arg0){
            // TODO Auto-generated method stub
            return null;
        }
        
        @Override
        public SockJSSocket exceptionHandler(Handler<Throwable> arg0){
            // TODO Auto-generated method stub
            return null;
        }
        
        @Override
        public SockJSSocket resume(){
            // TODO Auto-generated method stub
            return null;
        }
        
        @Override
        public SockJSSocket pause(){
            // TODO Auto-generated method stub
            return null;
        }
        
        @Override
        public SockJSSocket dataHandler(Handler<Buffer> arg0){
            // TODO Auto-generated method stub
            return null;
        }
        
        @Override
        public SockJSSocket endHandler(Handler<Void> arg0){
            // TODO Auto-generated method stub
            return null;
        }
    };
}
EN

回答 1

Stack Overflow用户

发布于 2013-12-22 08:22:02

我认为你可以尝试一种不同的方式,如果你想让你的安卓应用程序和一个vertx服务器对话:使用websocket,比使用sockjs在它们之间建立连接更容易。因为不久前我满足并解决了一个类似的要求。

因为websocket连接是双向通道,这意味着vertx应用程序可以向android应用程序发送文本,反之亦然。同时,还有Java(http://java-websocket.org/),您可以在安卓应用程序中使用它。它很容易使用。

此外,在vertx中设置websocket处理程序并不困难,文档中有很多示例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19696934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档