我在搜索stackoverflow和谷歌后发布了我的问题。
我正在尝试在点击"空格键"时从黑莓q10发送时间戳,以毫秒为单位发送到Java Socket服务器。黑莓Q10上的按钮。我可以连接到Java Server,并且能够在单击空格键时查看BB Q10屏幕上的文本更改(用于测试)。但我无法将数据发送到服务器。我检查服务器与另一个Java客户端应用程序客户端服务器连接工作正常如何让我的BB10应用程序成功地将数据发送到服务器。
我还想设置socket nodelay和socket keepalive设置我该怎么办呢。 的 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();
}