zoukankan      html  css  js  c++  java
  • qt5.10 for android 使用webview时qml 与html 中js的相互访问

    webview 本身没有qwebchannel 的接口,只能通过WebSocketServer 间接的访问。

    参考 https://stackoverflow.com/questions/51313111/qt-webview-and-webchannel-over-websockets-in-qml

    以及对应的实例工程:https://github.com/eyllanesc/stackoverflow/tree/master/51313111

    根据该工程编译的app在windows以及小米MI6 android版本7.11 都没有问题,但是在安卓版本4.4.2却出现了这样的问题。

    failed: Invalid UTF-8 sequence in header value。现象就是websocket通信不了,百度了一下说是

    In case anyone else hit's this issue, it's because the Server header was blank。

        WebSocketServer{
            listen: true
            port:12345
            name:"myserver"
    
            onClientConnected: {
                if(webSocket.status === WebSocket.Open)
                {
                    channel.connectTo(transport);
                    webSocket.onTextMessageReceived.connect(transport.textMessageReceive);
                    transport.onMessageChanged.connect(webSocket.sendTextMessage);
                }
    
            }
    
        }

    后来设置了属性name:"myserver"就能通信了。

  • 相关阅读:
    java内存模型
    如何保证消费者接收消息的顺序
    mysql事务隔离级别
    mysql加锁读
    mysql一致性读
    InnoDB锁
    JDK1.8中的线程池
    JDK1.8中HashMap实现
    物品推荐(基于物品的协同过滤算法)
    CRM 2013 生成自动编号
  • 原文地址:https://www.cnblogs.com/kabe/p/9335657.html
Copyright © 2011-2022 走看看