예제 #1
0
void WebSocketManager::retrieveWsAddressFinished()
{
    QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
    QByteArray data = reply->readAll();
    reply->deleteLater();

    QByteArray webSocketPath = data.mid(0, data.indexOf(":"));

    QUrl wsUrl(m_settings->value("event_url", kEventUrl).toUrl());
    wsUrl.setScheme("ws");
    QString path(kWsPath);
    path.append(webSocketPath);
    wsUrl.setPath(path);

    if (m_webSocket)
        m_webSocket->deleteLater();

    m_webSocket = new QWebSocket();
    connect(m_webSocket, &QWebSocket::connected,
            this, &WebSocketManager::webSocketConnected);
    connect(m_webSocket, &QWebSocket::disconnected,
            this, &WebSocketManager::webSocketDisconnected);

    m_webSocket->open(wsUrl);
}
예제 #2
0
void MainWindow::wsConnect(const QString &address) {
    if (_webSocket != NULL) {
        delete _webSocket;
    }

    QUrl url(address);
    QUrl wsUrl(url);
    wsUrl.setScheme("ws");
    wsUrl.setPath("/ws");

    _webSocket = new QWebSocket(address);
    connect(_webSocket, &QWebSocket::connected, this, &MainWindow::onConnected);
    connect(_webSocket, &QWebSocket::disconnected, this, &MainWindow::onDisconnected);
    connect(_webSocket, &QWebSocket::stateChanged, this, &MainWindow::onWebSocketStateChange);

    _webSocket->open(wsUrl);
}
예제 #3
0
DLLEXPORT int STDCALL FPDFLink_GetURL(FPDF_PAGELINK link_page,
                                      int link_index,
                                      unsigned short* buffer,
                                      int buflen) {
  CFX_WideString wsUrl(L"");
  if (link_page && link_index >= 0) {
    CPDF_LinkExtract* pageLink = CPDFLinkExtractFromFPDFPageLink(link_page);
    wsUrl = pageLink->GetURL(link_index);
  }
  CFX_ByteString cbUTF16URL = wsUrl.UTF16LE_Encode();
  int required = cbUTF16URL.GetLength() / sizeof(unsigned short);
  if (!buffer || buflen <= 0)
    return required;

  int size = std::min(required, buflen);
  if (size > 0) {
    int buf_size = size * sizeof(unsigned short);
    FXSYS_memcpy(buffer, cbUTF16URL.GetBuffer(buf_size), buf_size);
  }
  return size;
}
TEST_F(WebSocketMessagingStubFactoryTest, convertWebSocketAddressToUrl) {
    joynr::system::QtWebSocketAddress wsAddress(
                joynr::system::QtWebSocketProtocol::WS,
                "localhost",
                42,
                "/some/path/"
    );
    QUrl expectedWsUrl(QString("ws://localhost:42/some/path/"));

    QUrl wsUrl(WebSocketMessagingStubFactory::convertWebSocketAddressToUrl(wsAddress));
    EXPECT_EQ(expectedWsUrl, wsUrl);

    joynr::system::QtWebSocketAddress wssAddress(
                joynr::system::QtWebSocketProtocol::WSS,
                "localhost",
                42,
                "/some/path"
    );
    QUrl expectedWssUrl(QString("wss://localhost:42/some/path"));

    QUrl wssUrl(WebSocketMessagingStubFactory::convertWebSocketAddressToUrl(wssAddress));
    EXPECT_EQ(expectedWssUrl, wssUrl);
}