1

I am posting here after searching stackoverflow and google regarding my issue.

I am trying to send timestamp in milliseconds from blackberry q10 to Java Socket server on click of "space bar" button on my Blackberry Q10. i am able to connect to Java Server and able to view change in text on BB Q10 Screen (for testing) when space bar is clicked. but i am unable to send data to server. i checked the server with another java client application client server connections works ok. how can i make my BB10 Application to send data to server successfully.

i also want to set socket nodelay and socket keepalive settings how can i do so. MAIN.QML

    import bb.cascades 1.4
import HelloWorldServices 1.0
Page {
    keyListeners: [
        KeyListener {
            onKeyPressed: {
                if(event.unicode==" "){
                    label.text= hws.Nail();
                    hws.startTransfer();
                }
            }
        }
    ]
    Container {

        //Todo: fill me with QML
        Label {
            id:label
            // Localized text with the dynamic translation and locale updates support
            text: qsTr("Hello World") + Retranslate.onLocaleOrLanguageChanged
            textStyle.base: SystemDefaults.TextStyles.BigText
        }



        Button {
            id: btnGetHello
            text: "Test Hello"

            onClicked: {
                label.text= hws.getHello();
                hws.startTransfer();
            }
        }

    }

    attachedObjects: [
        HelloWorldServices {
            id: hws

        }
    ]
}

HelloWorldService.cpp

    #include "HelloWorldServices.hpp"

#include <bb/cascades/Application>
#include <bb/cascades/QmlDocument>
#include <bb/cascades/AbstractPane>
#include <bb/cascades/LocaleHandler>
#include <QTNetwork/QhostAddress>

using namespace bb::cascades;

HelloWorldServices::HelloWorldServices(QObject *parent) :
   QObject(parent)
{
    QHostAddress addr("192.168.1.104");
    client.connectToHost(addr,8080);


    startTransfer();
}

QString HelloWorldServices::getHello()
{
  return QString("Hello there!");
}

QString HelloWorldServices::Nail(){
    return this->getHello() + " NailedIt!";
}
void HelloWorldServices::startTransfer(){

  client.write("Hello"); // here timestamp in milliseconds

}

HelloWorldServices.hpp

    #ifndef HelloWorldServices_HPP_
#define HelloWorldServices_HPP_

#include <QObject>
#include <QDebug>
#include <QString>
#include <QTNetwork/QTcpSocket>
namespace bb
{
  namespace cascades
  {
    class Application;
    class LocaleHandler;
  }
}

class HelloWorldServices : public QObject
{
  Q_OBJECT
  Q_PROPERTY(QString status READ NOTIFY statusChanged)
  public:
  HelloWorldServices(QObject *parent = 0);

  virtual ~HelloWorldServices() { }

  public Q_SLOTS:
  QString getHello();
  QString Nail();
  Q_INVOKABLE void startTransfer();



  private:

     QTcpSocket client;
};

#endif /* ApplicationUI_HPP_ */

main.cpp

   #include "HelloWorldServices.hpp"

#include <bb/cascades/Application>
#include <bb/cascades/QmlDocument>
#include <bb/cascades/AbstractPane>
#include <QLocale>
#include <QTranslator>

#include <Qt/qdeclarativedebug.h>

using namespace bb::cascades;

Q_DECL_EXPORT int main(int argc, char **argv)
{
    Application app(argc, argv);
    qmlRegisterType<HelloWorldServices>("HelloWorldServices",1,0,"HelloWorldServices");

    QmlDocument *qml = QmlDocument::create("asset:///main.qml").parent(&app);
    AbstractPane *root = qml->createRootObject<AbstractPane>();
    app.setScene(root);

    // Enter the application main event loop.
    return Application::exec();
}
amit verma
  • 11
  • 2

0 Answers0