如何从android连接到spring websocket

时间:2017-02-24 07:55:57

标签: java android spring grails

我正在使用grails 3.1.1

我已经尝试找到一些文档和问题,例如this

这是ChatController

中的代码
class ChatController {

    SimpMessagingTemplate brokerMessagingTemplate
    def corporateUserService
    def index={

    }

    @MessageMapping("/chat")
    @SendTo("/queue/chat")
    protected String hello(DestinationUser map) {
        brokerMessagingTemplate.convertAndSend "/queue/chat", map
    }
}

我已经部署了这个应用程序,例如:

  

https://somedomain.com

如何从android连接到我的webapplication' websocket?

我试过

  

WSS://somedomain.com/chat
  WSS://somedomain.com/queue/chat

但它仍然无法连接。

我正在尝试按照本教程github

像这样......

AsyncHttpClient.getDefaultInstance().websocket("ws://satubangau.com/app/hello", null, new AsyncHttpClient.WebSocketConnectCallback() {
        @Override
        public void onCompleted(Exception ex, WebSocket webSocket) {
            Log.d(TAG, "onCompleted: ");
            if (ex != null) {
                ex.printStackTrace();
                return;
            }
            webSocket.send("a string");
            webSocket.send(new byte[10]);
            webSocket.setStringCallback(new WebSocket.StringCallback() {
                public void onStringAvailable(String s) {
                    Log.d(TAG, "onStringAvailable: I got a string: " + s);
                }
            });
            webSocket.setDataCallback(new DataCallback() {
                public void onDataAvailable(DataEmitter emitter, ByteBufferList byteBufferList) {
                    Log.d(TAG, "onDataAvailable: I got some bytes!");
                    // note that this data has been read
                    byteBufferList.recycle();
                }
            });
        }
    });

但我得到这样的日志..

enter image description here

1 个答案:

答案 0 :(得分:0)

您是否尝试在Android上使用WebSocket客户端库,例如https://github.com/koush/AndroidAsync