【问题标题】:how to connect to spring websocket from android如何从android连接到spring websocket
【发布时间】:2017-02-24 07:55:56
【问题描述】:

我正在使用 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();
                }
            });
        }
    });

但我得到这样的日志..

【问题讨论】:

    标签: java android spring grails


    【解决方案1】:

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

    【讨论】:

    • 我已经部署了我的应用程序,但它从 websocket.org/echo.html 测试,它不能到我的 websocket..为什么?
    • 所以它适用于websocket.org/echo.html,但不适用于您的网络应用程序?您的域的路径是否正确?您是否能够从浏览器连接到您的网络应用程序,例如在桌面上?
    • 不...我无法从websocket.org/echo.html 连接到我的网站...例如,我的域是example.comhttps 所以我的网站地址是https:/example.com 然后在我的代码中,我使用此代码@MessageMapping("/chat") @SendTo("/queue/chat") ......那么我如何从websocket.org/echo.html 连接到我的套接字站点?
    • 我尝试使用ws://example.com/chatws://example.com/app/chatws://example.com/queue/chat,但仍然无法连接
    猜你喜欢
    • 1970-01-01
    • 2019-05-04
    • 1970-01-01
    • 2020-06-09
    • 2018-06-01
    • 2014-02-28
    • 2017-06-20
    • 2021-08-18
    • 1970-01-01
    相关资源
    最近更新 更多